lm099 发表于 2010-4-10 10:38:17

如何暂时关闭快捷键

我在写一个类似游戏外挂的东西的时候,用了HotKeySet设定1到0这些数字为快捷键,可是这样的话,当用户暂停游戏切换出来聊天的时候,快捷键仍然起作用,导致用户打不了数字,就算在右下角暂停脚本也是一样,我会判断窗口但是不会暂停快捷键,请问如何做到这点呢?谢谢!

superflq 发表于 2010-4-10 10:43:17

HotKeySet("{1}")
HotKeySet("{2}")
...
HotKeySet("{0}")

lm099 发表于 2010-4-10 13:59:55

谢谢楼上的,我只是想暂停,不想撤销,除非撤销是唯一的办法吧。毕竟快捷键有十多个呢,切换一次窗口就要设置一遍觉得有点不合理,有没有一个总的开关,或者把快捷键设置放在某块代码里面,能实现直接开关的功能呢?

afan 发表于 2010-4-10 14:35:08

        If WinActive('游戏窗口') Then
                ;热键匹配的任务
        Else
                HotKeySet('键')
        EndIf

lm099 发表于 2010-4-18 03:28:20

谢了,看来只能这样了。

pusofalse 发表于 2010-4-18 03:51:50

注册WM_ACTIVATE消息,当窗口失去焦点时wParam参数为0,反之为1,lParam参数为窗口句柄。
注册消息的好处在于,这样做可以节约资源提高效率,不必循环检测窗口是否处于激活状态。

lm099 发表于 2010-5-22 20:02:50

不好意思,6L的没看懂,消息我只知道$GUI_EVENT_CLOSE之类的,还是自己的窗口,帮助和论坛上也找不到什么可以参考的东西,能不能提供具体点的资料位置,或者可以参考的代码,谢谢!
页: [1]
查看完整版本: 如何暂时关闭快捷键