亚洲 国产精品 日韩-亚洲 激情-亚洲 欧美 91-亚洲 欧美 成人日韩-青青青草视频在线观看-青青青草影院

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > mouse_event詳解

mouse_event詳解

來源:千鋒教育
發布人:xqq
時間: 2023-11-22 22:36:47 1700663807

一、mouse_event概述

mouse_event是一個Win32 API函數,用于模擬鼠標的各種事件,包括鼠標移動、鼠標點擊、鼠標滾輪滾動等。

在操作系統中,鼠標事件是一種非常重要的輸入事件,用戶通過鼠標來與計算機進行交互。mouse_event提供了一種方便和快捷的方式來模擬這些鼠標事件,使得我們可以編寫各種自動化腳本、測試腳本,進行自動化測試、自動化操作等。

二、鼠標事件類型

mouse_event函數通過第一個參數dwFlags來標識發生的鼠標事件類型,dwFlags的值有以下幾種:


MOUSEEVENTF_ABSOLUTE = 0x8000
MOUSEEVENTF_LEFTDOWN = 0x0002
MOUSEEVENTF_LEFTUP = 0x0004
MOUSEEVENTF_MIDDLEDOWN = 0x0020
MOUSEEVENTF_MIDDLEUP = 0x0040
MOUSEEVENTF_MOVE = 0x0001
MOUSEEVENTF_RIGHTDOWN = 0x0008
MOUSEEVENTF_RIGHTUP = 0x0010
MOUSEEVENTF_VIRTUALDESK = 0x4000
MOUSEEVENTF_WHEEL = 0x0800
MOUSEEVENTF_HWHEEL = 0x1000

其中,最常用的是鼠標左鍵點擊事件和鼠標移動事件。下面我們將分別進行詳細介紹。

三、mouse_event.click

1、鼠標左鍵點擊事件

鼠標左鍵點擊事件可以通過調用mouse_event函數發送事件消息來實現。調用方式如下:


#include 

void clickLeftButton()
{
  INPUT Input = {0};
  Input.type = INPUT_MOUSE;
  Input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
  ::SendInput(1, &Input, sizeof(INPUT));

  Input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
  ::SendInput(1, &Input, sizeof(INPUT));
}

上述代碼中,我們先設置了一個INPUT結構體,用于描述一個輸入事件。然后,將鼠標按鍵按下的事件設置到mi.dwFlags字段中,調用SendInput函數發送鼠標事件消息;再設置鼠標按鍵松開的事件,同樣發送鼠標事件消息。這樣,我們就完成了鼠標左鍵的點擊事件。

2、鼠標移動事件

鼠標移動事件通常需要指定鼠標的坐標位置。鼠標的坐標位置可以通過設置mi.dx和mi.dy字段的值來實現。mi.dx和mi.dy表示相對于上一次鼠標位置的偏移量,可以通過GetCursorPos函數獲取當前鼠標位置,然后計算偏移量。代碼示例如下:


#include 

void moveMouse(long x, long y)
{
  INPUT Input = {0};
  Input.type = INPUT_MOUSE;
  Input.mi.dx = x;
  Input.mi.dy = y;
  Input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE;
  Input.mi.time = 0;
  Input.mi.dwExtraInfo = 0;
  
  ::SendInput(1, &Input, sizeof(Input));
}

上述代碼中,我們首先調用GetCursorPos函數獲取當前鼠標位置,然后計算出需要移動的偏移量。在設置INPUT結構體的字段值后,我們使用SendInput函數發送鼠標事件消息。

四、鼠標事件應用場景

mouse_event函數可以在多種場景下使用,如自動化測試、腳本操作、畫圖軟件、游戲開發等等。下面我們將以畫圖軟件為例,介紹如何利用mouse_event函數實現繪圖。

假設我們有一個簡單的畫圖軟件,分別有畫線、畫矩形、畫圓三種功能,用戶可以通過點擊相應的按鈕,在畫布上繪制相應的圖形。我們可以使用mouse_event函數來實現這些繪圖操作。

我們可以通過獲取各個圖形的頂點坐標,然后依次模擬鼠標點擊和鼠標移動事件來完成繪圖任務。具體代碼如下:


#include 

void drawLine(long x1, long y1, long x2, long y2)
{
  moveMouse(x1, y1);
  clickLeftButton();
  moveMouse(x2, y2);
  clickLeftButton();
}

void drawRectangle(long x1, long y1, long x2, long y2)
{
  drawLine(x1, y1, x1, y2);
  drawLine(x1, y2, x2, y2);
  drawLine(x2, y2, x2, y1);
  drawLine(x2, y1, x1, y1);
}

void drawCircle(long x, long y, long radius)
{
  const double PI = 3.1415926;
  const int steps = 20;

  for(int i=0; i

上述代碼中,我們分別實現了畫線、畫矩形、畫圓三個功能。drawLine函數通過模擬鼠標點擊和移動事件來畫線;drawRectangle函數則通過調用drawLine函數繪制直線,最終完成矩形的繪制;drawCircle函數則使用了三角函數來計算出圓上的點,然后依次模擬鼠標事件畫圓。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
亚洲AV成人综合网| 熟妇高潮喷沈阳45熟妇高潮喷| 欧美人与性囗牲恔配| 色窝窝亚洲AV网在线观看| 午夜成人无码福利免费视频| 亚洲欧美成人一区二区三区| 51爆料网每日爆料黑料| 成人性生交大片免费看| 国产亚洲精久久久久久无码777 | 韩国三级HD中文字幕叫床| 久久天天躁夜夜躁狠狠| 日产精品乱码卡一卡2卡三网站| 无遮挡粉嫩小泬女视频| 玉蒲团Ⅲ艳乳欲仙| 厨房玩丰满人妻HD完整版视频| 国产真实乱XXXⅩ| 免费一对一真人视频| 天堂А√在线地址资源| 一边亲着一面膜下奶怎么回事| 波多野结系列18部无码观看A | 无遮挡边吃奶边做刺激视频| 又大又黄又爽视频一区二区| 错位关系C1V1一块五花肉| 教室停电了校草挺进我体内| 欧美日韩精品视频一区二区 | 一本色道久久综合狠狠躁| 成人AV无码一区二区三区| 国内精品乱码卡一卡2卡三卡| 男女无遮挡猛进猛出免费观看视频| 色WWW亚洲国产阿娇| 亚洲色成人网站WWW永久四虎| 宝贝把腿张得大一点就不痛了| 后进式疯狂摇乳无遮挡GIF| 欧洲美熟女乱又伦免费视频| 亚洲AV午夜成人片忘忧草在线| JAVASCRIPT的成熟分类| 狠狠色丁香婷婷综合久久图片| 欧美一级一片内射欧美美妇3p| 亚洲AV片无码久久尤物| 拔萝卜电视剧高清免费| 黑人大战中国AV女叫惨了| 人妻少妇精品视频三区二区一区| 亚洲成AV人片一区二区密柚| 波多野结衣一二三区AV高清| 精品一区二区成人精品| 色天使色偷偷色噜噜噜AV天堂| 亚洲中文久久精品无码| 国产精品成人久久久久久久| 男人进入女人下部图| 亚洲AV日韩AV无码A一区| 把腿张开老子臊烂你多P| 久久精品久久电影免费| 乌克兰美女的小嫩BBB| 99品一二三产区区别| 精品国际久久久久999波多野| 色欲AV蜜桃一区二区三| 中文字幕在线精品视频入口一区 | 亚洲国产精品久久一线不卡| 厨房里挺进岳丰满大屁股| 老太奶性BBWBBWBBW| 亚洲AV色香蕉一区二区三区| 草草影院CCYYCOM| 麻豆星空传媒果冻传媒大象| 亚洲AV素人乱码| 丰满少妇人妻HD高清大乳在线| 内射大B美女毛片| 亚洲日韩精品一区二区三区无码| 国产成人亚洲精品无码AV大片| 欧美成人影院亚洲综合图| 亚洲欧美精品SUV| 国产精品视频色拍拍| 日本丰满少妇毛茸茸| 综合图区亚洲欧美另类图片| 精品熟女少妇AV免费久久| 无码中文字幕日韩专区| 俄罗斯卖CSGO的网站| 欧美黑人又大又粗高潮喷水| 亚洲最大av在线| 狠狠噜天天噜日日噜视频麻豆| 天堂AV男人在线播放| 成 人 黄 色 网 站 视 频| 尿眼PEEHOLE重口| 一区二区精品视频| 精品久久久无码人妻中文字幕| 无遮挡边吃奶边做刺激视频| 高清国产AV一区二区三区| 普通话JIZZYOU中国少妇| 中文字幕日韩人妻| 久久久亚洲精品无码| 亚洲精品无码一区二区AⅤ污| 国产精品亚洲成在人线| 舌L子伦熟妇ΑV| 大伊香蕉精品一区视频在线| 区产品乱码芒果精品P站| 51精品国产人成在线观看| 乱码A区D区C区| 一边做一边喷17P亚洲乱妇| 精品久久久无码专区中文字幕| 驯服人妻HD中字日本| 国产精品毛片A∨一区二区三区| 日韩中文无码有码免费视频| おっさんとわたし天堂的资源| 内射骚妇高清AV电影| 69综合精品国产二区无码| 免费播放片Ⅴ免费人成视频| 英语老师没戴套让我C了一节课| 久久久久国产综合AV天堂| 亚洲熟女少妇一区二区| 久久99精品久久久久久野外| 亚洲精品成人福利网站| 精品国产成人一区二区三区| 亚洲成AV人片在线观看无APP| 国内毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 国外精品视频在线观看免费| 亚洲 日韩 欧美 成人 在线| 国产乱子伦60女人的皮视频| 五十路丰满中年熟女中出| 国产欧美日韩一区二区三区在线 | 久久无码成人影片| 伊人久久大香线蕉AV成人| 老熟妇高潮一区二区三区网| 在线观看大片免费播放器| 蜜桃AV一区二区三区| 99久久99这里只有免费费精品| 欧美VA亚洲VA在线观看| A级国产乱理伦片在线播放| 人人人爽人人澡人人高潮| 成熟丰满熟妇高潮XXXX| 特级毛片AAAAAA| 国产人妻麻豆蜜桃色精品电影 | 国产无人区码SUV| 亚洲AV永久无码精品无码网站| 激情内射亚洲一区二区三区| 亚洲精品无码成人区久久| 久久棈精品久久久久久噜噜| 中文字幕丰满乱子伦无码专区| 麻豆我精产国品一二三产区区别| 99精品国产高清一区二区| 青草伊人久久综在合线亚洲| 成人一区二区三区视频在线观看| 天码人妻一区二区三区| 国产男男GAY做受ⅩXX高潮| 亚洲精品国精品久久99热| 狂猛欧美激情性XXXX大豆行情| 7777色情XXXX欧美| 日本无人区一线影视| 国产精品无码AV天天爽播放器| 亚洲AV永久无码精品蜜芽| 久久久久精品波多野吉衣无码AV | 欧洲精品码一区二区三区免费看 | 性XXXXX欧美极品少妇| 久久99精品久久久久久野外 | 人人爽人人模人人人爽人人爱| 国产AⅤ无码专区亚洲AV麻豆| 亚洲AV成人无码精品网站色欲 | 黑人巨茎大战欧美白妇| 一边下奶一边吃面膜视频讲解| 欧美日韩人妻精品| 国产成人精品无码一区二区| 亚洲国产欧美日韩精品一区二区三| 两根硕大一起挤进小紧H共妻| 锕锕锕锕锕锕好大好深APP | 国产精品V无码A片在线看| 亚洲精品无码久久久久AV麻豆| 蜜臀AV永久免费看片| 成人无码AV一区二区三区| 亚洲 欧美 自拍 henhen| 老师你的兔子好软水好多的图片| 把腿张开老子cao烂你在线视频 | 久久久久亚洲AV综合波多野结衣 | 粗大猛烈进出高潮视频大全| 亚洲AV成人片色在线观看蜜桃| 久久人人爽人人爽人人AV| FREE性开放小少妇| 无码人妻一区二区中文| 久久欧美极品少妇XXXXⅩ| 成人A毛片免费全部播放| 亚洲AV无码成H人动漫网站| 免费无码成人AV在线播| 国产V精品成人免费视频| 亚洲一级 片内射欧美乱强| 人妻少妇精品久久久久久0000| 国产亚洲欧美日韩俺去了 | 人妻体内射精一区二区三区| 国产人成无码视频在线观看| 中文字幕无码精品亚洲资源网久久 | 无码人妻一区二区三区精品视频年| 久久青草精品38国产| 动漫精品中文无码卡通动漫| 亚洲精品成人无码| 人妻免费久久久久久久了| 护士扒下内裤让我爽一夜| А√天堂中文最新版在线下载种子 | 日韩国产成人无码AV毛片| 国内大量揄拍人妻在线视频| 50妺妺窝人体色www合集| 无码精品A∨在线观看十八禁| 久久婷婷六月综合色液啪 | 扒开两腿中间缝流白浆在线看| 亚洲AV色香蕉一区二区三区|