python win32api.keybd_event 模拟键盘按键的问题
有没有方法在 win32api.keybd_event模拟键盘按键时,使键盘的输入信号断开呢,因为我在使用的时候遇到一个问题:在模拟按下F1的时候,我键盘如果按着Ctrl,他就会发出Ctrl + F1 的信号,而不是F1 第3个参数,设为KEYEVENTF_KEYUP松开按键 模拟开始之前,加一个先松开所有按键? 看你的描述不会是想强制关闭实体键盘的输入功能吧?这样可太暴力了,绝对不是好的选择。我觉得可以在模拟按键之前加个判断,如果当前有按下的键,弹窗提示用户释放所有按键,然后再执行你的按键模拟代码。 cmy2019 发表于 2021-8-10 14:14
看你的描述不会是想强制关闭实体键盘的输入功能吧?这样可太暴力了,绝对不是好的选择。
我觉得可以在模拟 ...
如何才能检测当前是否有按键按下呢? 本帖最后由 Glenn 于 2021-8-10 15:22 编辑
我目前遇到的困难是这样的:我使用ctypes.windll.user32模块注册快捷键,当我想变更快捷键的时候需要先释放快捷键,但是要想释放快捷键必须先结束他的快捷键监听状态user32.GetMessageA(ctypes.byref(msg), None, 0, 0) 这句代码使程序进入热键监听状态,必须要触发之前注册过的快捷键(我目前只知道这种方法)才能让他继续往下执行,通过判断释放快捷键的占用,所以我目前使用的方法是用win32api 模块模拟键盘按键去触发快捷键跳出释放快捷键后重新注册新的。但是有些问题,比如注册的是F1,想改成Ctrl + 1 ,她在模拟的触发F1的时候我可能还按着Ctrl,导致他模拟了Ctrl + F1 并不能触发监听,所以有没有啥方法,直接结束监听或者模拟不受键盘影响的键盘信号呢? 本帖最后由 j542936 于 2021-8-11 13:13 编辑
是不是还是研究那个端游的
页:
[1]