作者VElysian (家瑀 致中和)
看板EzHotKey
标题Re: [AHK-] 请问要怎麽重覆执行某一段指令?
时间Wed Aug 6 18:01:24 2008
可以利用 GetKeyState 侦测按键是否按住或放开,然後控制 Loop 跳出唷~~
#Q:: ;按下 Win+Q 执行 至 return 为止的动作
Loop ; Loop 会重复不断执行 {...} 中间的动作
{
GetKeyState, state , F2
if state = D
;代表 F2 被按住不放
{
MsgBox, F2 已按下,离开程式。
break ;离开 Loop {...}
}
MouseMove, 10,10,50, R
;滑鼠向右下移动 10 个画素
Sleep, 1000
;延迟一秒
}
return
══════════════════════════════
GetKeyState, 变数, 按键名称。
变数: 存放按键状态,按键按下则内容是 D,放开内容是 U
按键名称: 变数名称,例如 F1、Down、NumpadAdd
详见
http://www.autohotkey.com/docs/KeyList.htm
如果有其它功能,在 MiouseMove 那边修改就行了喔~~
写完了,希望对你有帮助。 ^_^
※ 引述《xliu (一棵小树)》之铭言:
: 抱歉,看了板主写的 runcount loop 还是不太懂?
: 我想重覆执行下面这一段动作,不知该怎麽写呢?
: 我是想让它只要侦测到 Decryption 这个视窗
: 就自动送出 test ,然後按 enter。
: 因为我要每天打开数个解压缩档
: 那个 Decryption 视窗就是解压缩要输入密码的画面
: 但如果下面这样写的话,只能做一次而已,按 enter 後它会解出一个档案
: 但当我继续按下一个档案时,它就不会自动输入 test 了
: 就停住了。
: 不知道这问题会不会太简单 = =
: 有解答後我自砍 -_- 谢谢
: WinWait, Decryption,
: IfWinNotActive, Decryption, , WinActivate, Decryption,
: WinWaitActive, Decryption,
: Sleep, 100
: Send, {CTRLDOWN}{CTRLUP}test{ENTER}
--
战略高手 游戏, 数位, 程设 [jzs/lostname
DigitalWare 软体 Σ软体 应用 技巧 [lostname]
EzHotKey 软体 ◎简化复杂工作的快速键软体 VElysian
EzHotKey 主要讨论一种可以把复杂的滑鼠键盘动作变成简单的快速键的软体。
例如:
重复的剪下贴上,或是将滑鼠调整音量的动作简化成只按 +/- 键。
包括:
AutoHotKey、AutoIt、EZScript、VBScript、Windows 批次档。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.64.172.209
※ 编辑: VElysian 来自: 61.64.172.209 (08/06 18:04)
1F:推 bohun:有学有推^^ 08/06 19:12
2F:→ xliu:真是太感谢板主了,每一篇教学都如此详尽 Orz 08/06 19:50
3F:→ n0tme:这种方法会遇到跟我一样的问题,按F2钮无法立即break 08/07 11:55
4F:→ n0tme:以loop 里面 sleep 1秒来说,按下F2 大约1秒才有作用 08/07 11:56
6F:推 hoseela0301: . _ . / 08/11 03:55
7F:→ hoseela0301: . _ . / 08/11 03:55