[已解决]已有的无限循环中如何插入热键???
本帖最后由 邪恶海盗 于 2012-1-4 22:52 编辑While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Label4
****
Case $Button3
MsgBox(0+262144, "@关于", "通用绿化工具" & @LF & "By:邪恶海盗", 3)
Case $Button4
Exit
EndSwitch
这是代码中的一段无限循环,现在想要实现的效果是插入热键执行命令,比如按Alt+C执行$Buton4,按ALT+A执行$Buton3的命令 热键是个好东东,坐等高手 不是有个函数吗? HotKeySet 下面的方法供参考:$flag = 0
HotKeySet("!a", "OnButton3Press")
HotKeySet("!c", "OnButton4Press")
While 1
$nMsg = GUIGetMsg()
Switch $flag
case 3
$nMsg = $Button3
case 4
$nMsg = $Button4
case else
MsgBox(0,'', "No such button defined!")
EndSwitch
$flag = 0
Switch $nMsg
xxxxxxxx
EndSwitch
WEnd
Func OnButton3Press()
$flag = 3
End Func
Func OnButton4Press()
$flag = 4
End Func HotKeySet("!a", "OnButton3Press")
HotKeySet("!c", "OnButton4Press")报错... ; 按Esc键终止脚本, 按Pause/Break键暂停
Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")
HotKeySet("+!d", "ShowMessage") ;Shift-Alt-d
;;;; 下面是程序正文 ;;;;
While 1
Sleep(100)
WEnd
;;;;;;;;
Func TogglePause()
$Paused = Not $Paused
While $Paused
Sleep(100)
ToolTip('脚本已经"暂停"了',0,0)
WEnd
ToolTip("")
EndFunc
Func Terminate()
Exit 0
EndFunc
Func ShowMessage()
MsgBox(4096,"标题","这是一个消息.")
EndFunc 回复 6# hzxymkb
原来可以有多个循环....{:face (52):}
这条貌似是直接定义快捷键命令,然后用快捷键执行,楼上那个貌似是定义每个操作为一个值,然后把相应的值设置快捷键,再来实现快捷键执行命令,但为啥就是报错呢??? 回复 6# hzxymkb
原来这个循环放在前面会影响后面循环脚本里的关闭消息的,放到后面去就不影响了{:face (317):} 回复 5# 邪恶海盗
这个设置热键的语句本身没错,
主要是对应的函数定义有两处写错了, EndFunc 写成了 End Func。多了空格。
修改下就好了。
版主给的就是帮助里的例子啊。 这个用得着热键吗?
$Button4 = GUICtrlCreateButton('xx(&C)', xx, xx, xx, xx) 本帖最后由 邪恶海盗 于 2012-1-4 20:37 编辑
回复 9# xiehuahere
一直不知道可以有多个循环的...{:face (271):}
去掉多余空格不报错了...{:face (317):} 回复 10# afan
这个正解!
我等不知不觉中被楼主引导了。还是afan意识强大,不受其扰。 回复 10# afan
鼠标执行??? 回复 13# 邪恶海盗
在按钮名称中加入 &C (显示为带下划线的C字母) 就等于是可以通过 alt+C 执行按钮操作。 回复 14# xiehuahere $Button3 = GUICtrlCreateButton("关于(&A)", 60, 192, 65, 21)
$Button4 = GUICtrlCreateButton("退出(&C)", 140, 192, 65, 21)一直这样写的,才发现可以用...{:face (87):}
页:
[1]
2