利用Python實(shí)現(xiàn)Windows下的鼠標(biāo)鍵盤模擬的實(shí)例代碼
本文介紹了利用Python實(shí)現(xiàn)Windows下的鼠標(biāo)鍵盤模擬的實(shí)例代碼,分享給大家
本來(lái)用按鍵精靈是可以實(shí)現(xiàn)我的需求,而且更簡(jiǎn)單,但既然學(xué)python ,就看一下唄。
依賴:
pip install PyUserInput
PyUserInput 依賴 pyhook,所以還得安裝 pyhook。按需下載,下載地址。

我是 win10 64 位 python 2.7,用的是第二個(gè),下載之后用解壓軟件打開(kāi),把 pyHook放到C:\Python27\Lib\site-packages\pyHook下即可。
環(huán)境有了,看一下代碼。
模擬鼠標(biāo)
from pymouse import * m = PyMouse() m.click(1806, 14) m.click(x,y,button,n) #鼠標(biāo)點(diǎn)擊 #x,y #是坐標(biāo)位置 #button #1表示左鍵,2表示點(diǎn)擊右鍵 #n –點(diǎn)擊次數(shù),默認(rèn)是1次,2表示雙擊 m.click(577, 490, 1)
比較簡(jiǎn)單,看一下鼠標(biāo)事件監(jiān)控:
class Clickonacci(PyMouseEvent):
def __init__(self):
PyMouseEvent.__init__(self)
def click(self, x, y, button, press):
print(time.time(), button, press)
c = Clickonacci()
c.run()
這里要注意是阻塞線程的。
模擬鍵盤
from pykeyboard import *
k = PyKeyboard()
k.type_string(u'殺毒防御') # 我靠不能輸入中文啊。。。
k.press_key('H') # 模擬鍵盤按H鍵
k.release_key('H') # 模擬鍵盤松開(kāi)H鍵
k.tap_key('H') # 模擬點(diǎn)擊H鍵
k.tap_key('H', n=2, interval=5) # 模擬點(diǎn)擊H鍵,2次,每次間隔5秒
k.tap_key(k.function_keys[5]) # 點(diǎn)擊功能鍵F5
#組合鍵模擬
#例如同時(shí)按alt+tab鍵盤
k.press_key(k.alt_key) # 按住alt鍵
k.tap_key(k.tab_key) # 點(diǎn)擊tab鍵
k.release_key(k.alt_key) # 松開(kāi)alt鍵
鍵盤事件監(jiān)聽(tīng):
class TapRecord(PyKeyboardEvent):
def __init__(self):
PyKeyboardEvent.__init__(self)
def tap(self, keycode, character, press):
print(time.time(), keycode, character, press)
t = TapRecord()
t.run()
嗯,本來(lái)我是想整點(diǎn)東西的,但后來(lái)發(fā)現(xiàn) 360 太猛了,對(duì)360的窗口都無(wú)效,其他倒是不影響。畢竟是做安全的公司,如果有效的話,可以在運(yùn)行真實(shí)代碼前把360給關(guān)了,這樣就能為所欲為了。我只是想模擬一下限制網(wǎng)速而已。。。。太猛了。搞了很久,一點(diǎn)辦法都沒(méi)有。
上一張監(jiān)聽(tīng)鍵盤的效果圖:

不要干壞事哦。。。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python基礎(chǔ)語(yǔ)法中defaultdict的使用小結(jié)
Python的defaultdict是collections模塊中提供的一種特殊的字典類型,它與普通的字典(dict)有著相似的功能,本文主要介紹了Python基礎(chǔ)語(yǔ)法中defaultdict的使用小結(jié),感興趣的可以了解一下2025-04-04
PyQT實(shí)現(xiàn)菜單中的復(fù)制,全選和清空的功能的方法
今天小編就為大家分享一篇PyQT實(shí)現(xiàn)菜單中的復(fù)制,全選和清空的功能的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
Python實(shí)現(xiàn)學(xué)校管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)學(xué)校管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
顯卡驅(qū)動(dòng)CUDA?和?pytorch?CUDA?之間的區(qū)別
本文主要介紹了顯卡驅(qū)動(dòng)CUDA?和?pytorch?CUDA?之間的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
解決linux下使用python打開(kāi)terminal時(shí)報(bào)錯(cuò)的問(wèn)題
這篇文章主要介紹了linux下使用python打開(kāi)terminal時(shí)報(bào)錯(cuò),本文通過(guò)兩種場(chǎng)景分析給大家詳細(xì)講解,需要的朋友可以參考下2023-03-03
python中自定義異常/raise關(guān)鍵字拋出異常的案例解析
在編程過(guò)程中合理的使用異常可以使得程序正常的執(zhí)行,本篇文章給大家介紹python中自定義異常/raise關(guān)鍵字拋出異常案例解析,需要的朋友可以參考下2024-01-01
Python數(shù)據(jù)分析?Numpy?的使用方法
這篇文章主要介紹了Python數(shù)據(jù)分析?Numpy?的使用方法,Numpy?是一個(gè)Python擴(kuò)展庫(kù),專門做科學(xué)計(jì)算,也是大部分Python科學(xué)計(jì)算庫(kù)的基礎(chǔ),關(guān)于其的使用方法,需要的小伙伴可以參考下面文章內(nèi)容2022-05-05

