Python 實(shí)現(xiàn)鍵盤鼠標(biāo)按鍵模擬
有時(shí)候我們需要使用python執(zhí)行一些腳本,可能需要讓程序自動(dòng)按鍵或自動(dòng)點(diǎn)擊鼠標(biāo),下面的代碼實(shí)現(xiàn)了對(duì)鍵盤的模擬按鍵,
需要安裝pypiwin32,當(dāng)然也可以直接用ctypes來實(shí)現(xiàn)。
pip install pypiwin32
安裝pypiwin32。
鍵盤模擬
# coding=utf-8
import win32con
import win32api
import time
key_map = {
"0": 49, "1": 50, "2": 51, "3": 52, "4": 53, "5": 54, "6": 55, "7": 56, "8": 57, "9": 58,
"A": 65, "B": 66, "C": 67, "D": 68, "E": 69, "F": 70, "G": 71, "H": 72, "I": 73, "J": 74,
"K": 75, "L": 76, "M": 77, "N": 78, "O": 79, "P": 80, "Q": 81, "R": 82, "S": 83, "T": 84,
"U": 85, "V": 86, "W": 87, "X": 88, "Y": 89, "Z": 90
}
def key_down(key):
"""
函數(shù)功能:按下按鍵
參 數(shù):key:按鍵值
"""
key = key.upper()
vk_code = key_map[key]
win32api.keybd_event(vk_code,win32api.MapVirtualKey(vk_code,0),0,0)
def key_up(key):
"""
函數(shù)功能:抬起按鍵
參 數(shù):key:按鍵值
"""
key = key.upper()
vk_code = key_map[key]
win32api.keybd_event(vk_code, win32api.MapVirtualKey(vk_code, 0), win32con.KEYEVENTF_KEYUP, 0)
def key_press(key):
"""
函數(shù)功能:點(diǎn)擊按鍵(按下并抬起)
參 數(shù):key:按鍵值
"""
key_down(key)
time.sleep(0.02)
key_up(key)
鼠標(biāo)模擬
# coding=utf-8
import win32api
import win32con
import win32gui
def move(x, y):
"""
函數(shù)功能:移動(dòng)鼠標(biāo)到指定位置
參 數(shù):x:x坐標(biāo)
y:y坐標(biāo)
"""
win32api.SetCursorPos((x, y))
def get_cur_pos():
"""
函數(shù)功能:獲取當(dāng)前鼠標(biāo)坐標(biāo)
"""
p={"x":0,"y":0}
pos = win32gui.GetCursorPos()
p['x']=pos[0]
p['y']=pos[1]
return p
def left_click():
"""
函數(shù)功能:鼠標(biāo)左鍵點(diǎn)擊
"""
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN | win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
def right_click():
"""
函數(shù)功能:鼠標(biāo)右鍵點(diǎn)擊
"""
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN | win32con.MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
def left_down():
"""
函數(shù)功能:鼠標(biāo)左鍵按下
"""
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
def left_up():
"""
函數(shù)功能:鼠標(biāo)左鍵抬起
"""
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
def right_down():
"""
函數(shù)功能:鼠標(biāo)右鍵按下
"""
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
def right_up():
"""
函數(shù)功能:鼠標(biāo)右鍵抬起
"""
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
以上就是Python 實(shí)現(xiàn)鍵盤按鍵模擬的詳細(xì)內(nèi)容,更多關(guān)于Python 鍵盤按鍵模擬的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
完美處理python與anaconda環(huán)境變量的沖突問題
這篇文章主要介紹了完美處理Python與anaconda環(huán)境變量的沖突問題,對(duì)anaconda感興趣的同學(xué),可以參考下2021-04-04
基礎(chǔ)的十進(jìn)制按位運(yùn)算總結(jié)與在Python中的計(jì)算示例
按位運(yùn)算是計(jì)算機(jī)學(xué)習(xí)中的基礎(chǔ),Python完全支持位運(yùn)算符從而幾乎可以直接顯示出位運(yùn)算的結(jié)果,這里我們稍微總結(jié)一下基礎(chǔ)的十進(jìn)制按位運(yùn)算總結(jié)與在Python中的計(jì)算示例2016-06-06
Python多進(jìn)程multiprocessing.Pool類詳解
這篇文章主要為大家詳細(xì)介紹了Python多進(jìn)程multiprocessing.Pool類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
基于PyQt5制作一個(gè)gif動(dòng)態(tài)圖片生成器
這篇文章主要介紹了基于PyQt5實(shí)現(xiàn)的gif動(dòng)態(tài)圖片生成器,這個(gè)小工具制作的目的是為了將多張圖片組合后生成一張動(dòng)態(tài)的GIF圖片。需要的可以參考一下2022-01-01
利用Python代碼實(shí)現(xiàn)數(shù)據(jù)可視化的5種方法詳解
在數(shù)據(jù)科學(xué)中,有多種工具可以進(jìn)行可視化。下面這篇文章主要給大家介紹了關(guān)于利用Python代碼實(shí)現(xiàn)數(shù)據(jù)可視化的5種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2018-03-03
pyCharm 實(shí)現(xiàn)關(guān)閉代碼檢查
這篇文章主要介紹了pyCharm 實(shí)現(xiàn)關(guān)閉代碼檢查,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python 中的字符串基礎(chǔ)與應(yīng)用小結(jié)
在Python中,字符串可以用單引號(hào)或雙引號(hào)括起來,'hello' 與 "hello" 是相同的,這篇文章主要介紹了Python 中的字符串基礎(chǔ)與應(yīng)用,需要的朋友可以參考下2023-09-09

