Python呼叫驅動級按鍵 DD虛擬鍵盤

2021-09-13 14:26:01 字數 1286 閱讀 3717

開發dnf連點功能時,常規的pymouse pykeyboard無效

猜測原因是dnf遮蔽了模擬訊號

嘗試使用驅動級按鍵

比如dd虛擬鍵盤虛擬滑鼠

這個官方例子裡就有python下如何呼叫的例子:

from ctypes import *

import time

# 註冊dd dll,64位python用64位,32位用32位,具體看dd說明檔案。

# 測試用免安裝版。

# 用哪個就呼叫哪個的dll檔案。

dd_dll = windll.loadlibrary('ddx64.dll')

# dd偽程式碼,可以用dd內建函式轉換。

vk =

# 需要組合shift的按鍵。

vk2 = ': ']', '%': '5', '@': '2', '!': '1', '(': '9'}

def down_up(code):

# 進行一組按鍵。

dd_dll.dd_key(vk[code], 1)

dd_dll.dd_key(vk[code], 2)

def dd(key):

# 500是shift鍵碼。

if i.isupper():

# 如果是乙個大寫的玩意。

# 按下抬起。

dd_dll.dd_key(500, 1)

down_up(i.lower())

dd_dll.dd_key(500, 2)

elif i in '~!@#$%^&*()_+{}|:"<>?':

# 如果是需要這樣按鍵的玩意。

dd_dll.dd_key(500, 1)

down_up(vk2[i])

dd_dll.dd_key(500, 2)

else:

down_up(i)

input("按任意鍵繼續...")

# 之後等待兩秒。

time.sleep(2)

# 測試按鍵。

for i in '':

dd(i)

# 需要注意的問題。

# 若同時開啟兩個指令碼,第二個指令碼會呼叫失敗。驅動會載入錯誤。

# 這個錯誤可以被python捕獲。

# 網路錯誤會成功啟動指令碼,但是按鍵不會有效果,需要重新啟動指令碼。

# 這個錯誤無法被python捕獲。

# 這個錯誤可以用dd_dll的內建函式測試是否載入成功來確定。

**晚上回家進行一波測試 

dd64檔案需更新 須** 不測了 。

python資料驅動 yaml檔案的呼叫

1 塊 hello goodbye first name 聶思偉 second name 唐玉峰 third name 張贏 cookietype 1 datatype 0 url user login method post detail 登入 data username 張三 password ...

c 學習筆記 四 函式按指標呼叫和按引用呼叫

通過傳遞函式引數拷貝引數的位址到形式引數的指標方法的呼叫。函式的內部的位址是用來訪問呼叫中使用的實際引數。這意味著,對引數的更改會影響傳遞的引數。傳遞指標的值,引數指標傳遞給函式就像任何其他的值。所以,相應的需要宣告函式的引數為指標型別,如在以下函式swap 從而改變了兩個整型變數的值指向它的引數。...

驅動呼叫過程

驅動呼叫過程 剛接觸到linux下驅動程式設計,一般都是照著模式寫 或是修改一下已有原始碼,對驅動的呼叫過程並不是很熟悉。在網上不斷的 算是有點明白了,現在我就說下自己的了解。我們載入驅動模組後都會做乙個工作,就是通過mknod在 dev資料夾下建立乙個裝置檔案 如mknod dev c major...