请问如何使用hotkeyset
本帖最后由 leon460 于 2011-4-7 09:30 编辑HotKeySet("to","te")
$i=1
Do
Sleep(10)
Until $i=0
Func te()
ShellExecute("C:\Program Files\Tencent\QQ\Bin\QQ.exe")
EndFunc
我想同时安装 字母t和字母o一秒 才运行 te()函数,请问,怎么写?
我知道_IsPresse可以 定义几个字母同时按的,但是我不知道hotkeyset 和 _IsPressed 的中断效果是否一样?
谢谢 在AU3里,hotkey不能这样用吧,修饰键只能是ctrlshift 和alt,AHK里倒是有这样的热键设置 学习一下,学习一下 自己顶下,希望遇到这样情况的人给我帮助,谢谢 下面算是一个笨办法吧#include <Misc.au3>
$dll = DllOpen("user32.dll")
While 1
Sleep(250)
If _IsPressed("54", $dll) And _IsPressed("4F", $dll) Then
Local $time = 0
While 1
If $time = 1000 Then
ToolTip("")
MsgBox(262144, "_IsPressed", "两个键按了一秒钟")
;这里写你想运行的脚本
DllClose($dll)
Exit
EndIf
If _IsPressed("54", $dll) = 0 Or _IsPressed("4F", $dll) = 0 Then ExitLoop
Sleep(100)
$time += 100
WEnd
EndIf
ToolTip("同时按下“t”和“o” 1 秒钟试试")
WEnd 回复 5# yhxhappy
感谢您的帮助,我不知道hotkeyset 的中断优先级别是否和 _IsPressed 一样的? hotkeyset是有局限性的,比如已经被别的软件注册的热键使用它再注册是无效的,另外有些程序,比如某游戏,是会屏蔽大部分热键响应的,可能是用了什么hook吧,但是_IsPressed不同,这个函数只是检测用户是否按下了指定键罢了,并不算在热键上,所以可以在已有热键的情况下工作 HotKeySet("F1","te") 回复 8# xz00311
呜呜,不会吧,这么简单,,你没有看完整我的问题哦 回复 9# leon460
直接这么写是不可以的,你可以把热键设置在T上 当T被按下时,调用另一个函数,此函数判断你是否同时按下T&O 1秒,如果真 则调用te()否则什么都不做
页:
[1]