问题标签 [pyhook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
305 浏览

function - pyhook:按下特定键时调用函数(与其他键分开)

我开始使用 pyHook 是因为我希望在用户按下特定键时调用一个函数。这是我的代码:

然而,这意味着每次用户按下 'o' 时,都会调用该函数,即使用户只是在写 'hello' 或 'oh!'。所以我想知道是否有可能告诉python我希望它仅在该键与其他键分开按下时运行该函数,就在用户按下“o”而不是其他键时。

提前致谢!

0 投票
4 回答
1365 浏览

python - PyHook 没有检测到在某些窗口中按下的键

我运行了这个 PyHook 示例代码:

尝试一下,它可以在大多数窗口中使用,但是当我在游戏窗口中尝试它时,它就像我没有按下任何东西一样。

有没有办法从特定进程中收听按键?我应该怎么办?

0 投票
1 回答
1626 浏览

python - 如何使用 pyHook 捕获 Shift + PrintScreen?

我试图捕获Shift+ PrintScreen,因为Ctrl+c这个答案中被捕获。

虽然答案已经过时,但即使我修复了导入,它也不起作用:


我想捕获 PrintScreen 键并打开我能够做到的 Screenshot 应用程序。现在我想捕获 Shift + PrintScreen 并使用其他一些配置打开我的应用程序。如何一次捕获两个密钥?

0 投票
1 回答
1135 浏览

python - pythoncom 在使用 Skype 的键盘记录器上崩溃

这是我的源代码:

每当我运行 Skype 并输入内容时,我都会在 cmd 中收到此错误。

TypeError:KeyboardSwitch() 缺少 8 个必需的位置参数:“msg”、“vk_code”、“scan_code”、“ascii”、“flags”、“time”、“hwnd”和“win_name”

我假设这与Skype的窗口名称中包含非ASCII字符这一事实有关,但是我该如何解决这个问题呢?

0 投票
1 回答
489 浏览

python-3.x - Py2EXE编译pyhook二进制错误

我正在使用 pyhook 和 pythoncom 编译一些 python 脚本。在从 pyHook.cpyHook 通知缺少名为 _cpyHook 的模块后,构建成功。当我启动 .exe 文件时,它会返回此导入错误。

我已经用谷歌搜索并尝试了这些解决方案,例如

  1. 将 pyHook._cpyHook.pyd 重命名为 _cpyHook.pyd
  2. 将 _cpyHook.pyd 和 cpyHook.py 从 site-packages\pyHook 复制粘贴到 site-packages。

这些都不适合我。

0 投票
1 回答
203 浏览

python - pyHook + pyGTK - 按键时关闭应用程序(Windows)

我希望我的(Python/Windows)GUI GTK 窗口在按键时关闭。然而,没有任何反应。我是初学者,我正在谷歌寻找答案。我的英语也不是很专业。请耐心等待我。

你能告诉我我做错了什么吗?我也尝试使用 win32api 和 pyGame。但是没有安装win32api [from here],只有win32com。PyGame 也有问题 - 没有安装键盘事件/模块。

0 投票
0 回答
326 浏览

python-3.5 - python 3.5上的pyhook错误

我正在尝试使用 pyhook 编写键盘记录器。下面是一段代码。我最近从py2.7改为py3.5。代码在迁移之前运行良好。

迁移后我收到错误。每次我在键盘上按说“a”时,我都会得到 event.Ascii 为 1(a = 1, b=2 和类似) 而不是 97 (这是预期值)。如果我插入断点并尝试调试模式,那么它会按预期工作。

我在 Win7-64 位操作系统上运行并为 python 使用 anaconda 分发包。

0 投票
1 回答
1228 浏览

python - 单击后如何在Python中获取GUI对象的名称和值

我想记录一个 Windows 应用程序的用户场景。为此,我想在鼠标单击屏幕截图旁边的对象和鼠标位置后检索/记录 GUI 对象的对象类型、对象名称和对象值。

我一直在寻找如何做。请帮忙。

我有以下 Python 代码。

0 投票
2 回答
2158 浏览

python - 带有 pyw 文件的 Windows 启动不会关闭 cmd

我一直在研究一个应该在我的计算机后台运行的小脚本。我已经让脚本工作了,除了一件事,数小时的谷歌搜索和狩猎还没有找到答案。

该文件具有 .pyw 扩展名,当我从命令提示符运行它时:

cmd 窗口将继续打开并给我另一个提示,而不会像使用常规 .py 文件那样启动空闲。

当我双击该文件时,cmd 窗口会毫无问题地打开和关闭,就像它应该做的那样。这对我来说都是完美的。

但是,我尝试制作一个小批处理文件:

我把它卡在Windows的启动文件夹中。但是,当我重新启动计算机以查看它是否可以工作时,它打开了 cmd 窗口,但不会关闭它。我不知道为什么。我已经尝试了所有我能想到的方法,包括将 File.pyw 直接粘贴在启动文件夹中,并尝试将退出命令直接放入批处理文件中,如下所示:

但是,正如您可能猜到的那样,这失败了。我尝试将命令直接放在我的代码中,所以在结束之前,它有一行

但在意识到这行不通后,我就把它拿出来了。(重要细节:代码的最后一行设置为循环它直到程序关闭。这就是我尝试使用 pyw 扩展名的原因,因此控制台可以在文件结束之前关闭)

接下来,我将批处理文件缩短为只有一行:

但它仍然无法正常工作。运行批处理文件时,我会打开一个输入命令的 cmd 窗口,但它像常规 .py 文件一样运行,而不是关闭 cmd 窗口。

谁能帮我弄清楚为什么从 .batch 文件运行命令时控制台不会关闭,但直接从命令提示符运行时会关闭?

更新

当我快速按两次“+”时,该脚本旨在添加一个快速键盘快捷键来关闭任务,特别是 Google Chrome。这是我的完整代码(减去一些个人信息)

当我从 pycharm 或 cmd 运行它时,这一切都可以完美运行,但是当我将它放在 C:\Users(my name)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 然后尝试它时出来,什么都没有发生。我猜这是因为 Windows 会在任何事情发生之前运行该文件并退出它,但我真的不确定。我真的需要一个解决方案,让它在启动时运行并接受我的关键输入,直到我关闭。

0 投票
0 回答
153 浏览

multithreading - 在多个线程中挂接键盘 - pyhook 和 threading

我试图从键盘捕获一组单词并对每个单词运行一个对应的命令。

每个线程寻找一个不同的词。出于某种原因,虽然两个线程都在运行,但只捕获了一个单词。

这是主文件: