首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python在windows上发送密钥

Python在windows上发送密钥
EN

Stack Overflow用户
提问于 2011-07-27 19:45:54
回答 3查看 11.4K关注 0票数 1

我正尝试在windows机器上通过python2.7发送键盘命令。我知道SendKeys模块不能在2.7中工作。因此,我改用win32应用编程接口中的keybd_event。

我想发送的键是shift+left来选择一个单词。代码如下:

代码语言:javascript
复制
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)

这一切都行得通。但是,shift键仍然处于按下状态!即使在我终止进程之后。之后松开shift键的唯一方法是物理地按capslock,然后按shift +a键,然后是capslock off。它与这个问题非常相似:http://www.bigresource.com/Tracker/Track-vb-RvVMlrAbZn/

你知道该怎么做吗?

提前感谢!

EN

回答 3

Stack Overflow用户

发布于 2011-07-28 17:39:46

虽然我找不到一种方法让win32api与shift一起工作,但我现在正在使用http://code.google.com/p/sendkeys-ctypes/的SendKeys,它似乎可以与2.7一起工作。

票数 0
EN

Stack Overflow用户

发布于 2011-07-29 07:23:41

来自windows API的SendInput可能会有所帮助。最近Raymond Chen的博客文章建议你甚至可以用它来控制屏幕保护程序的启动/停止。

票数 0
EN

Stack Overflow用户

发布于 2016-08-07 06:16:38

您可以尝试pywin32包,请注意它是旧的且未维护。

这是an example from StackOverflow

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6843764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档