找回密码
 加入
搜索
查看: 4041|回复: 8

[AU3基础] 怎样设置“空格+F”键直接打开notepad程序??

  [复制链接]
发表于 2014-1-9 20:45:57 | 显示全部楼层 |阅读模式
本帖最后由 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字母,请问该怎么设置???
发表于 2014-1-9 21:11:10 | 显示全部楼层
hotkeyset 设置组合热键必须要 Alt, Ctrl, Shift, Win 至少其一参与
 楼主| 发表于 2014-1-9 21:43:11 | 显示全部楼层
回复 2# afan


    正想从ahk转到autoit,没想到第一个快捷键功能就被难住了,难道autoit没有像ahk那样方便的快捷键设置功能吗????
发表于 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
 楼主| 发表于 2014-1-11 13:16:32 | 显示全部楼层
基本明白了。
现在暂时的想法是,涉及到快捷键的部分还是用ahk,其他比较复杂的自动化操作则使用au3,因为au3的普及貌似要比ahk广的多,支持相对完善。不过au3的快捷键功能确实麻烦
发表于 2014-1-11 14:03:49 | 显示全部楼层
自己做个udf用起来就不麻烦了.
 楼主| 发表于 2014-1-11 23:49:20 | 显示全部楼层
回复 6# www378660084


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

我对ahk也还不太熟,只会一些基本的操作,但差不多够用了。主要是碰到一些深入的问题时,发觉自学比较困难,而且出现了一些莫名其妙的不稳定和不兼容现象,所以准备转移到au3试试
发表于 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)
                Until  Not (_IsPressed(20,$dll) And _IsPressed(46,$dll))
                EndIf
   sleep(100)
wend
DllClose($dll)
 楼主| 发表于 2014-1-12 11:43:57 | 显示全部楼层
回复 8# funco


    谢谢了!

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

暂时不讨论这个问题了。谢谢大家的热心!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-24 01:19 , Processed in 0.080231 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表