python模擬輸入回車鍵_用Python模擬鍵盤輸入

import win32apiimport win32conwin32api.keybd_event(17,0,0,0) #ctrl鍵位碼是17win32api.keybd_event(86,0,0,0) #v鍵位碼是86win32api.keybd_event(86,0,win32con.KEYEVENTF_KEYUP,0) #釋放按鍵win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0)附個鍵位碼表:字母和數字鍵 數字小鍵盤的鍵 功能鍵 其它鍵 鍵 鍵碼 鍵 鍵碼 鍵 鍵碼 鍵 鍵碼 A 65 0 96 F1 112 Backspace 8 B 66 1 97 F2 113 Tab 9 C 67 2 98 F3 114 Clear 12 D 68 3 99 F4 115 Enter 13 E 69 4 100 F5 116 Shift 16 F 70 5 101 F6 117 Control 17 G 71 6 102 F7 118 Alt 18 H 72 7 103 F8 119 Caps Lock 20 I 73 8 104 F9 120 Esc 27 J 74 9 105 F10 121 Spacebar 32 K 75 * 106 F11 122 Page Up 33 L 76 + 107 F12 123 Page Down 34 M 77 Enter 108 -- -- End 35 N 78 - 109 -- -- Home 36 O 79 . 110 -- -- Left Arrow 37 P 80 / 111 -- -- Up Arrow 38 Q 81 -- -- -- -- Right Arrow 39 R 82 -- -- -- -- Down Arrow 40 S 83 -- -- -- -- Insert 45 T 84 -- -- -- -- Delete 46 U 85 -- -- -- -- Help 47 V 86 -- -- -- -- Num Lock 144 W 87 X 88 Y 89 Z 90 0 48 1 49 2 50 3 51 4 52 5 53 6 54 7 55 8 56 9 57

這個函數在user32.dll這個庫文件里面。我們可以在C:\WINDOWS\system32(XP系統)這個目錄下找到這個文件,他是系統自帶的。 我們以C#直接調用這個文件中的API為例子來說下怎么進行鼠標操作,首先在我們C#中聲明引用,如果是一個基于From的程序,這個聲明的位置寫在你的From class就可以了 [System.Runtime.InteropServices.DllImport("user32")] private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo); 參數 意義 dwFlags Long,下表中標志之一或它們的組合 dx,dy Long,根據MOUSEEVENTF_ABSOLUTE標志,指定x,y方向的絕對位置或相對位置 cButtons Long,沒有使用 dwExtraInfo Long,沒有使用 dwFlags常數 意義 const int MOUSEEVENTF_MOVE = 0x0001; 移動鼠標 const int MOUSEEVENTF_LEFTDOWN = 0x0002; 模擬鼠標左鍵按下 const int MOUSEEVENTF_LEFTUP = 0x0004; 模擬鼠標左鍵抬起 const int MOUSEEVENTF_RIGHTDOWN = 0x0008; 模擬鼠標右鍵按下 const int MOUSEEVENTF_RIGHTUP = 0x0010; 模擬鼠標右鍵抬起 const int MOUSEEVENTF_MIDDLEDOWN = 0x0020; 模擬鼠標中鍵按下 const int MOUSEEVENTF_MIDDLEUP = 0x0040; 模擬鼠標中鍵抬起 const int MOUSEEVENTF_ABSOLUTE = 0x8000; 標示是否采用絕對坐標 程序中我們直接調用mouse_event函數就可以了 mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 500, 500, 0, 0); 1、這里是鼠標左鍵按下和松開兩個事件的組合即一次單擊: mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 ) 2、模擬鼠標右鍵單擊事件: mouse_event (MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 ) 3、兩次連續的鼠標左鍵單擊事件 構成一次鼠標雙擊事件: mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 ) mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 ) 4、使用絕對坐標 MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 500, 500, 0, 0 需要說明的是,如果沒有使用MOUSEEVENTF_ABSOLUTE,函數默認的是相對于鼠標當前位置的點,如果dx,和dy,用0,0表示,這函數認為是當前鼠標所在的點。5、直接設定絕對坐標并單擊 mouse_event(MOUSEEVENTF_LEFTDOWN, X * 65536 / 1024, Y * 65536 / 768, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, X * 65536 / 1024, Y * 65536 / 768, 0, 0); 其中X,Y分別是你要點擊的點的橫坐標和縱坐標 而鍵盤模擬用 Keybd_event() Keybd_event能觸發一個按鍵事 件,也就是說回產生一個WM_KEYDOWN或WM_KEYUP消息。當然也可以用產生這兩個消息來模擬按鍵,但是沒有直接用這個函數方便。 Keybd_event共有四個參數,第一個為按鍵的虛擬鍵值,如回車鍵為vk_return, tab鍵為vk_tab。第二個參數為掃描碼,一般不用 設置,用0代替就行。第三個參數為選項標志,如果為keydown則置0即可,如果為keyup則設成“KEYEVENTF_KEYUP”,第四個參數一 般也是置0即可。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454569.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454569.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454569.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python 之 進程

目錄 理論知識 操作系統背景知識 進程 什么是進程 進程調度 進程的并行與并發 同步異步阻塞非阻塞 同步和異步 阻塞與非阻塞 同步/異步與阻塞/非阻塞 組合 進程的創建與結束 進程的創建 進程的結束 在python程序中的進程操作 multiprocess(multiproc…

從全息投影到全息平臺,必須克服7個障礙

“每個科幻愛好者和癡迷技術的人兒都希望能擁有一個全息成像臺。不幸的是,制造全息平臺的技術還尚未被人類掌握。據說我們離這項技術可用之時還有大約10到15年的時間——這是 AMD 的專業人士 Phil Rogers 說的,他專攻 3D 技術工作已超過20年。在《今日宇…

android fragment fragmenttransaction,Android FragmentTransaction 常用方法總結

FragmentManage:FragmentManager能夠實現管理activity中fragment. 通過調用activity的getFragmentManager()取得它的實例.FragmentManager可以做如下一些事情:1、使用findFragmentById() (用于在activity ...public class Toolkit { /** * * Role:Telec…

IBM總架構師寇衛東:話說程序員的職業生涯-IT程序人生-職業生涯規劃

初級程序員和高級程序員時期,都屬于職業生涯發展的第一階段,我們可以稱之為黃金時期。這階段程序員的年齡在20~35歲之間,因為年輕,所以更善于學習,而且體力充沛,很多走過這個階段的程序員有過通宵工作的經歷…

metric learning -- 馬氏距離與歐氏距離

一 基本概念 方差:(variance)是在概率論和統計方差衡量隨機變量或一組數據時離散程度的度量。概率論中方差用來度量隨機變量和其數學期望(即均值)之間的偏離程度。統計中的方差(樣本方差)是每個…

深入理解 C# 協變和逆變

msdn 解釋如下: “協變”是指能夠使用與原始指定的派生類型相比,派生程度更大的類型。 “逆變”則是指能夠使用派生程度更小的類型。 解釋的很正確,大致就是這樣,不過不夠直白。 直白的理解: “協變”->”和諧的變”…

華為mate20能用鴻蒙嗎,華為mate20可以用5g網絡嗎

華為mate20不可以用5g網絡,它是4g手機在2018年上市,當時5g并沒有開始流行,因此mate20是不支持5G的。不過在后來的2019年秋季,華為發布了mate20 x的5g版本,這也是mate20系列里唯一支持5G的,除此之外mate20、…

基本農田衛星地圖查詢_#重慶朝天門#谷歌百度騰訊高德“衛星地圖”PK,谷歌更勝一籌...

截圖自便民查詢網,各家衛星地圖PK,各有千秋~谷歌精確度最高:5m,來福士修建中,嘉陵江是綠的,長江是黃的。兩江交匯處有一條分明的界線。谷歌 5m:20ft谷歌 50m:100ft谷歌 200m:500ft谷歌 300m:1000ft谷歌 500…

軟件開發者面試百問答案,老紫竹研究室出品(已經有64個)

當然,全部是我個人的答案,不代表別人。地址 www.laozizhu.com/program.jsp?typeId104 老紫竹研究室,分享軟件開發的快樂與收獲 ‘ 我這里貼上已經寫好的答案連接。 軟件開發者面試百問答案 - 你需要哪些東西幫助你判斷項目是否符合時間要求…

Python 第三方庫之 Celery 分布式任務隊列

一、Celery介紹和使用: Celery 是一個 基于python開發的分布式異步消息任務隊列,通過它可以輕松的實現任務的異步處理, 如果你的業務場景中需要用到異步任務,就可以考慮使用celery, 舉幾個實例場景中可用的例子: 你想…

windows server 2008 (五)web服務器的搭建和部署

Windows server 2008 web服務器的搭建和部署相對于windows server 2003的IIS6來說,windows server 2008推出的IIS7.0為管理員提供了統一的web平臺,為管理員和開發人員提供了一個一致的web解決方案。并針對安全方面做了改進,可以減少利用自定義…

改裝摩托車

摩托車發動機就是將進入氣缸中的燃料混合氣點燃使其燃燒所產生的熱能變為機械能,并由曲軸將動力通過傳動機構傳給摩托車后輪而變為車輛行駛動力的機械。發動機的進排氣量和氣流速是影響高轉速(功率)輸出的關鍵因素之一。 發動機工作時氣流的路…

華為鴻蒙os logo,華為鴻蒙OS Logo曝光:Powered by HarmonyOS

IT之家 9 月 13 日消息 9 月 10 日,鴻蒙 OS 2.0 亮相華為開發者大會的主舞臺上,華為常務董事、消費者業務 CEO 余承東表示,鴻蒙 OS 是首個真正為全場景時代打造的分布式操作系統,鴻蒙 OS 2.0 全面使能全場景生態。現在博主 勇氣數…

python判斷語句_詳解Python判斷語句的使用方法

本篇介紹Python判斷語句的使用,主要討論簡單條件語句、多重條件語句和嵌套條件語句,在講解的每個案例中都配有流程圖和代碼說明。通過本篇的學習,可以達成如下目標。 ● 掌握判斷語句的使用規則 ● 判斷語句流程圖的畫法 前面我們學習了Pytho…

迫在眉睫的職業規劃

對于大多數程序員來說,微軟是一家值得崇敬的公司,能夠加入微軟,也是很多程序員的愿望。在付出足夠的努力后,一旦進入了微軟,也就意味著可以和最先進的技術終日為伍,一直沿著技術這條路線走下去了。對嗎&…

js setTimeout 使用方法

在項目過程中遇到一些異步加載和其他js方法沖突的問題: 如圖初始化的時候會加載“商戶基本信息”,修改商戶名稱字段第二個頁面也需要修改: function setSeqAndName(){var pritab2 $("#allTabs").tabs("getTab", 1).find("ifra…

python中分支結構包括哪些_python中的分支結構

python不提供switch語句,但是python可以通過字典實現switch語句的功能 實現方法分兩步: 首先:定義一個地點 其次:調用字典的get()獲取相應的表達式 原始方法: from __future__ import division #內置函數,解…

機器學習算法之 logistic、Softmax 回歸

邏輯回歸本質是分類問題,而且是二分類問題,不屬于回歸,但是為什么又叫回歸呢。我們可以這樣理解,邏輯回歸就是用回歸的辦法來做分類。它是在線性回歸的基礎上,通過Sigmoid函數進行了非線性轉換,從而具有更強…

html上傳預覽圖片原理,關于html中圖片上傳預覽的實現

functionchange() {varpicdocument.getElementById("preview"),filedocument.getElementById("f");//得到后綴名varextfile.value.substring(file.value.lastIndexOf(".")1).toLowerCase();//gif在IE瀏覽器暫時無法顯示if(ext!png&&ext!…

程序員成功之路

程序員成功之路 ——The road ahead for programmer(演講稿) 一、我很羨慕在座的各位同學,因為你們是中國未來的程序員,而我不是,我一直很遺憾。 比爾蓋茨曾經寫過一本書叫做《未來之路》The road ahead, 那么今天我選…