国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C/C++ Windows.h 鼠標(biāo)鍵盤操作

這篇具有很好參考價值的文章主要介紹了C/C++ Windows.h 鼠標(biāo)鍵盤操作。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

現(xiàn)在有些情況下我們需要用鼠標(biāo)或鍵盤重復(fù)做某些操作,一次兩次還好,當(dāng)我們需要重復(fù)做100次或遠(yuǎn)程控制時,我們就需要用到鼠標(biāo)鍵盤操作。這時,我們就要用Windows.h來實現(xiàn)了。

目錄

相關(guān)函數(shù)

mouse_event

keybd_event

SetCursorPos

示例:

實現(xiàn)Ctrl + V?

實現(xiàn)隨機(jī)設(shè)置鼠標(biāo)位置


相關(guān)函數(shù):

首先,讓我們來學(xué)習(xí)幾個相關(guān)的函數(shù):

mouse_event

這個函數(shù)是用來模擬鼠標(biāo)事件的,函數(shù)原型如下:

VOID mouse_event(DWORD dwFlags, DWORD dx,DWORD dwFlags, OWORD dx, DWORD dy, DWORD dwData, DWORD dwExtralnfo);

?參數(shù):


????dwFlags:標(biāo)志位集,指定點擊按鈕和鼠標(biāo)動作的多種情況。此參數(shù)里的各位可以是下列值的任何合理組合:

????????????MOOSE_EVENTF_ABSOLOTE:表明參數(shù)dX,dy含有規(guī)范化的絕對坐標(biāo)。如果不設(shè)置此位,參數(shù)含有相對數(shù)據(jù):相對于上次位置的改動位置。此標(biāo)志可被設(shè)置,也可不設(shè)置,不管鼠標(biāo)的類型或與系統(tǒng)相連的類似于鼠標(biāo)的設(shè)備的類型如何

????????????MOOSEEVENTF_MOVE:表明發(fā)生移動。

????????????MOUSEEVENTF_LEFTDOWN:表明接按下鼠標(biāo)左鍵。

????????????MOUSEEVENTF_LEFTUP:表明松開鼠標(biāo)左鍵。

????????????MOUSEEVENTF_RIGHTDOWN:表明按下鼠標(biāo)右鍵。

????????????MOUSEEVENTF_RIGHTUP:表明松開鼠標(biāo)右鍵。

????????????MOUSEEVENTF_MIDDLEDOWN:表明按下鼠標(biāo)中鍵。

????????????MOUSEEVENTF_MIDDLEUP:表明松開鼠標(biāo)中鍵。

????????????MOUSEEVENTF_WHEEL:在Windows NT中如果鼠標(biāo)有一個輪,表明鼠標(biāo)輪被移動。移動的數(shù)量由dwData給出。

????dx:指定鼠標(biāo)沿x軸的絕對位置或者從上次鼠標(biāo)事件產(chǎn)生以來移動的數(shù)量,依賴于MOOSEEVENTF_ABSOLOTE的設(shè)置。給出的絕對數(shù)據(jù)作為鼠標(biāo)的實際X坐標(biāo);給出的相對數(shù)據(jù)作為移動的mickeys數(shù)。一個mickey表示鼠標(biāo)移動的數(shù)量,表明鼠標(biāo)已經(jīng)移動。

????dy:指定鼠標(biāo)沿y軸的絕對位置或者從上次鼠標(biāo)事件產(chǎn)生以來移動的數(shù)量,依賴于MOOSEEVENTF_ABSOLVTE的設(shè)置。給出的絕對數(shù)據(jù)作為鼠標(biāo)的實際y坐標(biāo),給出的相對數(shù)據(jù)作為移動的mickeys數(shù)。

????dwData:如果dwFlags為MOOSEEVENTF_WHEEL,則dwData指定鼠標(biāo)輪移動的數(shù)量。正值表明鼠標(biāo)輪向前轉(zhuǎn)動,即遠(yuǎn)離用戶的方向;負(fù)值表明鼠標(biāo)輪向后轉(zhuǎn)動,即朝向用戶。一個輪擊定義為WHEEL_DELTA,即120。

????如果dwFlagsS不是MOOSEEVENTF_WHEEL,則dWData應(yīng)為零。

????dwExtralnfo:指定與鼠標(biāo)事件相關(guān)的附加32位值。應(yīng)用程序調(diào)用函數(shù)GetMessgeExtrajnfo來獲得此附加信息。

????返回值:無。

keybd_event

這個函數(shù)是用來模擬鍵盤事件的,函數(shù)原型如下:

VOID keybd_event(BYTE bVk,BYTE bScan,DWORD dwFlags,DWORD dwExtralnfo);

參數(shù):

? ? ?bVk:定義一個虛據(jù)擬鍵碼。鍵碼值必須在1~254之間,宏定義為 "VK_" 開頭。

?????bScan : 定義該鍵的硬件掃描碼,一般填 0 。

?????dwFlags:定義函數(shù)操作的名個方面的一個標(biāo)志位集。應(yīng)用程序可使用如下一些預(yù)定義常數(shù)的組合設(shè)置標(biāo)志位,常用按下為 0 ,彈起為 2 。

????????KEYEVENTF_EXETENDEDKEY:若指定該值,則掃描碼前一個值為OXEO(224)的前綴字節(jié)。

????????DEYEVENTF_KEYUP:若指定該值,該鍵將被釋放;若未指定該值,該鍵交被接下。dwExtralnfo:定義與擊鍵相關(guān)的附加的32位值,常填 0 。
?

??????返回值:無。

SetCursorPos

這個函數(shù)是用來設(shè)置鼠標(biāo)位置的,函數(shù)原型如下:

BOOL SetCursorPos(int X,int Y);

參數(shù):

????X:指定光標(biāo)的新的X坐標(biāo),以屏幕坐標(biāo)表示。

????Y:指定光標(biāo)的新的Y坐標(biāo),以屏幕坐標(biāo)表示。

????返回值:如果成功,返回非零值;如果失敗,返回值是零。

示例:

好了,接下來我給大家寫一些示例吧。

實現(xiàn)Ctrl + V :

#include <Windows.h>

int main()
{
    //按下Ctrl鍵
    keybd_event(VK_CONTROL, 0, 0, 0);
    //按下V鍵(注意,當(dāng)?shù)谝粋€參數(shù)為字符時必須用單引號" ' "引起來)
    keybd_event('V', 0, 0, 0);
    //松開V鍵
    keybd_event('V', 0, 2, 0);
    //松開Ctrl鍵
    keybd_event(VK_CONTROL, 0, 2, 0);

    return 0;
}

實現(xiàn)隨機(jī)設(shè)置鼠標(biāo)位置:

#include <Windows.h>
#include <stdlib.h>
#include <time.h>

int main()
{
   	int xWidth = GetSystemMetrics(SM_CXSCREEN);	//獲取屏幕邊界x
	int yHeight = GetSystemMetrics(SM_CYSCREEN);	//獲取屏幕邊界y
    // 設(shè)置隨機(jī)數(shù)種子
    srand((unsigned)time(NULL));
    // 隨機(jī)生成X坐標(biāo)
    int x = rand() % xWidth;
    // 隨機(jī)生成Y坐標(biāo)
    int y = rand() % yHeight;
    // 設(shè)置鼠標(biāo)位置
    SetCursorPos(x, y);
    return 0;
}

好了今天就給大家講到這里,謝謝大家,有問題歡迎在評論區(qū)討論。文章來源地址http://www.zghlxwxcb.cn/news/detail-484531.html

到了這里,關(guān)于C/C++ Windows.h 鼠標(biāo)鍵盤操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C# Windows登錄界面進(jìn)行截圖,控制鼠標(biāo)鍵盤等操作實現(xiàn)(三)

    在Windows登錄界面進(jìn)行截圖,目前嘗試到的以下的截圖方法可以截取到圖,其它的方式要么卡住,要么截出來是黑屏的,直接上代碼: 操作鼠標(biāo)鍵盤等操作可以參考本人另一篇文章:使用C#制作可以錄制自動化執(zhí)行Windows操作腳本工具——類似于按鍵精靈 - log9527 - 博客園 (cnbl

    2024年02月12日
    瀏覽(17)
  • python模擬鼠標(biāo)鍵盤操作

    優(yōu)點:可以進(jìn)行簡單的重復(fù)人為操作,也相當(dāng)于實現(xiàn)了傻瓜式的自動化 缺點:也很明顯,在進(jìn)行程序運(yùn)行時,你不能對鼠標(biāo)和鍵盤進(jìn)行使用(不然就會改變鼠標(biāo)位置和輸入內(nèi)容導(dǎo)致程序報錯),所以最好使用一臺空閑的電腦。 很多軟件打開都需要自己的運(yùn)行環(huán)境,所以需要

    2024年02月11日
    瀏覽(31)
  • 模擬鼠標(biāo)鍵盤操作PyUserInput

    模擬鼠標(biāo)操作是模擬鼠標(biāo)點擊和鍵盤輸入的操作,UI自動化測試中非常實用。在Web UI、App UI、WinApp UI自動化測試講解中借助Selenium和Appium框架下ActionChains、TouchAction、MouseButton等類已經(jīng)介紹了如何模擬鼠標(biāo)和鍵盤操作。本文將為大家介紹一個獨立的、任何時候都可以模擬鼠標(biāo)和

    2024年02月08日
    瀏覽(23)
  • UG鼠標(biāo)和鍵盤操作

    UG鼠標(biāo)和鍵盤操作

    角色包含了用戶的自定義配置,包括內(nèi)容、演示、快捷鍵、工具欄等,通過: 菜單-首選項-用戶界面-角色 進(jìn)行導(dǎo)入導(dǎo)出。 將鼠標(biāo)放在欲選擇的對象上懸停,當(dāng)出現(xiàn)三個點時點擊左鍵,選擇不同類別 撥動滾輪 Crrl+按下鼠標(biāo)中鍵移動鼠標(biāo)(比較順滑) 在屏幕中央:按下鼠標(biāo)中

    2024年02月12日
    瀏覽(22)
  • 使用Windows API實現(xiàn)鍵盤鼠標(biāo)監(jiān)控鉤子

    使用Windows API實現(xiàn)鍵盤鼠標(biāo)監(jiān)控鉤子

    本文介紹了如何使用Windows API中的SetWindowsHookEx和RegisterHotKey函數(shù)來監(jiān)控鍵盤和鼠標(biāo)活動。特別地,我們將詳細(xì)討論RegisterHotKey函數(shù)的用法,該函數(shù)允許開發(fā)者注冊全局熱鍵并定義這些熱鍵觸發(fā)時的行為。

    2024年02月04日
    瀏覽(21)
  • Selenium 模擬鍵盤及鼠標(biāo)操作

    Selenium 模擬鍵盤及鼠標(biāo)操作

    在第三章中我們已經(jīng)初步掌握了 Selenium 中的元素操作,包括了 click() 點擊操作、clear() 清除操作以及 sendKeys() 輸入操作,但是這三種操作還不能夠滿足測試用例中的操作;以點擊來說,使用鼠標(biāo)可以實現(xiàn)點擊、雙擊等,而使用鍵盤也可以輸入除了字符串之外的如 CTRL、ENTER、

    2024年04月15日
    瀏覽(23)
  • selenium模擬網(wǎng)頁的鍵盤鼠標(biāo)操作

    Selenium可以模擬鍵盤和鼠標(biāo)操作,下面是一些常用的方法: ? 1. 模擬鍵盤輸入 ? ```python from selenium.webdriver.common.keys import Keys ? # 找到輸入框 input_box = driver.find_element_by_xpath(\\\"http://input[@name=\\\'q\\\']\\\") ? # 在輸入框輸入文字 input_box.send_keys(\\\"Python\\\") ? # 模擬回車鍵 input_box.send_keys(Keys.ENTER)

    2024年02月13日
    瀏覽(27)
  • WindowsAPI——使用Windows API中鍵盤、鼠標(biāo)監(jiān)控鉤子

    WindowsAPI——使用Windows API中鍵盤、鼠標(biāo)監(jiān)控鉤子

    本節(jié)將介紹如何使用 Windows API 中的 SetWindowsHookEx 和 RegisterHotKey 函數(shù)來實現(xiàn)鍵盤鼠標(biāo)的監(jiān)控。這些函數(shù)可以用來設(shè)置全局鉤子,通過對特定熱鍵掛鉤實現(xiàn)監(jiān)控的效果,兩者的區(qū)別在于 SetWindowsHookEx 函數(shù)可以對所有線程進(jìn)行監(jiān)控,包括其他進(jìn)程中的線程,而 RegisterHotKey 函數(shù)只能

    2024年02月04日
    瀏覽(18)
  • 在windows和ubuntu之間共享鼠標(biāo)鍵盤,無縫切換

    在windows和ubuntu之間共享鼠標(biāo)鍵盤,無縫切換

    安裝和使用Barrier在Linux和其他設(shè)備之間共享鍵盤和鼠標(biāo) Barrier是一個開源軟件,能夠在多臺計算機(jī)之間共享鼠標(biāo)和鍵盤,如果你同時使用window和linux系統(tǒng),那就可以安裝和使用Barrier。 開源地址:https://github.com/debauchee/barrier ubuntu下安裝: 運(yùn)行以下命令安裝 或者在軟件商店中進(jìn)

    2024年02月04日
    瀏覽(19)
  • Modelsim鍵盤快捷鍵和鼠標(biāo)操作

    Modelsim鍵盤快捷鍵和鼠標(biāo)操作 使用Modelsim查看波形,大多數(shù)的操作是鍵盤和鼠標(biāo)配合,通過熟悉快捷鍵操作可以幫助提操作效率。 內(nèi)容來自Modelsim的官方指導(dǎo)手冊,在GUI界面中可以這樣查詢: Help - SE Documentation - InfoHub(HTML Brower Required),如下圖所示: 也可以通過安裝目錄進(jìn)

    2024年02月16日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包