我試圖通過發送一個Windows機器上的Python 2.7鍵盤命令發送鍵。我知道SendKeys模塊不支持2.7。所以我使用win32 API中的keybd_event代替。Windows上的Python
,我想送的關鍵是,Shift +左鍵選擇一個單詞。這是代碼:
win32api.keybd_event(win32con.VK_LSHIFT,0,win32con.KEYEVENTF_EXTENDEDKEY | 0,0)
win32api.keybd_event(win32con.VK_LEFT,0,0,0)
win32api.keybd_event(win32con.VK_LSHIFT,0,win32con.KEYEVENTF_EXTENDEDKEY | win32con.KEYEVENTF_KEYUP,0)
這一切工作。但是,換檔鍵保持壓低狀態!即使我殺了這個過程。之後釋放換檔鍵的唯一方法是按下大寫鎖,然後按+鍵,然後關閉大寫鎖。它非常相似,這一問題:http://www.bigresource.com/Tracker/Track-vb-RvVMlrAbZn/
你有任何想法,該怎麼辦?
在此先感謝!
我大膽猜測,這是因爲你在0傳遞作爲掃描碼(第二個參數)。嘗試調用'掃描碼= MapVirtualKey(VK_LSHIFT,MAPVK_VK_TO_VSC)'和順便指出到keybd_event方法。 – combatdave
感謝您的回覆。我只是試着用: scanCode = win32api.MapVirtualKey(win32con.VK_LSHIFT,0) 我在那裏設置了一個零,因爲我找不到MAPVK_VK_TO_VSC。 但是,它仍然無法工作。 – Mohamad
在您撥打電話後,scanCode中有什麼值? – combatdave