level 2
大佬们好,
我想做一个在运行窗体没有鼠标焦点的情况下,仍然可以检测到键盘空格按下后开始运行程序的程序。
但我卡在了运行窗体没有鼠标焦点后,按下键盘没反应的情况。
请问怎么解决
2024年05月16日 13点05分
1
level 8
添加一个标签,试试编写代码:按下键盘ansi键后标签内容是否发生改变,ansi是可见的字符,ascii取值为1~127
2024年05月16日 14点05分
2
level 8
API GetAsyncKeystate去判断空格键,API声明网上有,Timer控件的Timer事件中去检测,Interval调成1
2024年05月17日 03点05分
3
level 9
需要用到键盘钩子。搜一下例子很多,可以锻炼一下你的技术。
2024年05月17日 05点05分
4
level 13
1.RegisterHotKey注册空格键为热键后,拦截WM_HOTKEY消息,这个需要子类化。(当然Do循环+PeekMessage也可以,不过不建议)
2.GetAsyncKeystate去判断也比较方便,加一个Timer控件定时获取按键状态,效果可能不理想,Timer 的Interval为1(精度15ms左右),一般也够了
2024年05月17日 07点05分
5
RegisterHotKey这个方法好哎
2024年05月17日 09点05分