我正在尝试通过Windows机器上的python 2.7发送键盘命令。据我所知,SendKeys模块不适用于2.7。所以我使用win32 api中的keybd_event代替。
我要发送的密钥是shift + left来选择一个单词。这是代码:
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 :(得分:0)
虽然我无法找到让win32api与shift一起工作的方法,但我现在正在使用来自http://code.google.com/p/sendkeys-ctypes/的SendKeys,这似乎适用于2.7。
答案 1 :(得分:0)
Windows API中的SendInput可能会有所帮助。最近的Raymond Chen博客文章建议您甚至可以使用它来控制屏幕保护程序启动/停止。
答案 2 :(得分:0)
您可以尝试使用pywin32
软件包,请注意它已经过时且没有维护。