txd1d 发表于 2014-1-9 20:45:57

怎样设置“空格+F”键直接打开notepad程序??

本帖最后由 txd1d 于 2014-1-9 20:52 编辑

设置了以下语句,目的是常驻内存,在任意时候按下“空格+F”键,就能打开notepad程序

hotkeyset("{space} f","notepad")

while 1
sleep(100)
wend

func notepad()
run("notepad.exe")
endfunc

但是每次都只按下空格键,notepad程序就打开了,而按下“空格+F”键,反而是打开了notepad程序后又多发送了一个f字母,请问该怎么设置???

afan 发表于 2014-1-9 21:11:10

hotkeyset 设置组合热键必须要 Alt, Ctrl, Shift, Win 至少其一参与

txd1d 发表于 2014-1-9 21:43:11

回复 2# afan


    正想从ahk转到autoit,没想到第一个快捷键功能就被难住了,难道autoit没有像ahk那样方便的快捷键设置功能吗????

www378660084 发表于 2014-1-11 12:49:51


#include <Misc.au3>

HotKeySet("f","open")

While True
        Sleep(100)
WEnd

Func open()
        Local $hDLL = DllOpen("user32.dll")
        If_IsPressed("20", $hDLL) Then
                Run("notepad")
        EndIf
        DllClose($hDLL)                                                
EndFunc

txd1d 发表于 2014-1-11 13:16:32

基本明白了。
现在暂时的想法是,涉及到快捷键的部分还是用ahk,其他比较复杂的自动化操作则使用au3,因为au3的普及貌似要比ahk广的多,支持相对完善。不过au3的快捷键功能确实麻烦

www378660084 发表于 2014-1-11 14:03:49

自己做个udf用起来就不麻烦了.{:face (125):}

txd1d 发表于 2014-1-11 23:49:20

回复 6# www378660084


    不懂啊,才刚刚开始学au3,自定义这种快捷键函数估计还很有难度。而且ahk本来就非常方便了,懒得折腾。

我对ahk也还不太熟,只会一些基本的操作,但差不多够用了。主要是碰到一些深入的问题时,发觉自学比较困难,而且出现了一些莫名其妙的不稳定和不兼容现象,所以准备转移到au3试试

funco 发表于 2014-1-12 11:23:13

可以用_ispressd去做~~ 供你参考 ~
#include <Misc.au3>
$dll = DllOpen("user32.dll")
while 1
                If _IsPressed(20,$dll) And _IsPressed(46,$dll) Then
                        run("notepad.exe")
                Do
                        Sleep(100)
                UntilNot (_IsPressed(20,$dll) And _IsPressed(46,$dll))
                EndIf
   sleep(100)
wend
DllClose($dll)

txd1d 发表于 2014-1-12 11:43:57

回复 8# funco


    谢谢了!

测试了一下,是能够打开程序的。但是同时也发送了空格键和f键,有干扰。

暂时不讨论这个问题了。谢谢大家的热心!
页: [1]
查看完整版本: 怎样设置“空格+F”键直接打开notepad程序??