HotKeySet传值问题求教
HotKeySet("{F8}", "captureEsc");captureEsc中能传递参数Func captureEsc($x)
If $x>0 Then
MsgBox(0,"提示", "成功")
EndIf
EndFunc
热键HotKeySet可以传递参数给EndFunc 这命令不支持参数 可以在函数EndFunc里再调用函数,这个函数就可以传参数了噻;或者用全局变量也可以啊。 调用的函数不能给函数加上参数. 它将会被忽略HotKeySet("{F8}", "_TocaptureEsc")
Dim $x = 0
Func _TocaptureEsc()
$x = 1
captureEsc($x)
EndFunc
Func captureEsc($x)
If $x >0 Then
MsgBox(0,"提示", "成功")
EndIf
EndFunc 被你误导了,是captureEsc函数,从你的函数名里可以看出应该是捕捉Esc键,为什么热键设置的是F8,不明白。不用传参数啊,看下面程序,可以实现你想要的不?
HotKeySet("{F8}","captureEsc")
$x = 10;
Func captureEsc()
If $x > 15 Then
MsgBox(0,"提示","成功")
Else
MsgBox(0,"提示","失败")
EndIf
EndFunc 不好意思,把while循环忘了,没有while达不到效果,因为程序一下就结束了,返回了,实在不好意思,我也是想试下去掉while循环可以不,结果复制上来的时候忘了加上了。
HotKeySet("{F8}","captureEsc")
$x = 10;
while 1
WEnd
Func captureEsc()
If $x > 15 Then
MsgBox(0,"提示","成功")
Else
MsgBox(0,"提示","失败")
EndIf
EndFunc 本帖最后由 user3000 于 2012-6-14 08:56 编辑
回复 1# hzcjd
编程可以灵活多一点点:HotKeySet("{esc}", "_Esc")
While 1
Sleep(100)
WEnd
Func _Esc()
$x = InputBox('输入参数', '请输入一个数字', 3, '', '100', '50', @DesktopWidth/2 - 100, @DesktopHeight/2 -50, 3)
If NotStringIsDigit($x) Then $x = ''
captureEsc($x)
EndFunc
Func captureEsc($x = 0)
If $x>0 Then
MsgBox(0,"提示", "成功")
EndIf
EndFunc补充: 网页没刷新, 其实本楼是对4楼A大进行'狗尾续貂'了! 上面两种方法,都可以曲线到达 回复 2# 星雨朝霞
HotKeySet 自定义的函数可以有一个或多个有默认值的参数.
直接按快捷键传递默认值, 从别的地方调用可以传递别的值了.
页:
[1]