设置热键后,按热键后没有反应的原因?[已解决]
本帖最后由 cashiba 于 2016-9-24 22:15 编辑最近学习热键,练习代码如下。
发现有问题:按热键F12后,毫无反应,是咋回事?
其它热键都能正常反应。
Global $g_bPaused = False
HotKeySet("{PAUSE}", "HotKeyPressed")
HotKeySet("{ESC}", "HotKeyPressed")
HotKeySet("{F10}", "HotKeyPressed")
HotKeySet("{F12}", "HotKeyPressed")
While 1
Sleep(100)
WEnd
Func HotKeyPressed()
Switch @HotKeyPressed
Case "{PAUSE}"
$g_bPaused = Not $g_bPaused
While $g_bPaused
Sleep(100)
ToolTip('Script is "Paused"', 0, 0)
WEnd
ToolTip("")
Case "{ESC}"
Exit
Case "{F10}"
runnote()
Case "{F12}"
endnote()
EndSwitch
EndFunc ;==>HotKeyPressed
Func runnote()
Send("#r")
WinWait("Run", "", 0)
Send("notepad.exe {Enter}")
Local $hWnd = WinWait("", "", 0)
Send("现在的日期/时间: {F5}")
EndFunc
Func endnote()
local $hwnd=WinWaitActive("")
Sleep(500)
WinClose($hWnd)
WinWaitActive("")
Sleep(500)
Send("{TAB}{ENTER}")
EndFunc 你真的认真看了帮助文档吗?
你真的认真看了帮助文档吗?
水木子 发表于 2016-9-22 22:20 http://www.autoitx.com/images/common/back.gif
已经考虑到这个问题了,换其它的比喻F9也是一样没反应阿... 唉,好像发现问题在哪里了。。。。
改成下面这样可以运行了
Global $g_bPaused = False
HotKeySet("{PAUSE}", "HotKeyPressed")
HotKeySet("{ESC}", "HotKeyPressed")
HotKeySet("{F10}", "HotKeyPressed")
HotKeySet("{F9}", "HotKeyPressed")
While 1
Sleep(100)
WEnd
Func HotKeyPressed()
Switch @HotKeyPressed
Case "{PAUSE}"
$g_bPaused = Not $g_bPaused
While $g_bPaused
Sleep(100)
ToolTip('Script is "Paused"', 0, 0)
WEnd
ToolTip("")
Case "{ESC}"
Exit
Case "{F10}"
runnote()
Case "{F9}"
endnote()
EndSwitch
EndFunc ;==>HotKeyPressed
Func runnote()
Send("#r")
WinWait("运行", "",0)
Send("notepad.exe {Enter}")
Local $hWnd = WinWait("", "", 0)
Send("现在的日期/时间: {F5}")
EndFunc
Func endnote()
local $hwnd=WinActivate("无标题 - 记事本")
ConsoleWrite($hwnd & @CRLF)
Sleep(500)
WinClose($hWnd)
WinWaitActive("")
Sleep(500)
Send("{TAB}{ENTER}")
EndFunc一个是水大说的F12保留,另一个是:WinWaitActive("TITLE:无标题 - 记事本;")好像不好用,改成WinActivate("无标题 - 记事本")就可以了。
难道这就是画蛇添足?{:face (396):} 回复 3# cashiba
热键肯定是没问题的,你得检查下,是不是你其他地方出了问题。
HotKeySet('{F8}', 'HotKeyPressed')
HotKeySet('{F9}', 'HotKeyPressed')
While 1
Sleep(250)
WEnd
Func HotKeyPressed()
MsgBox(0, 0, @HotKeyPressed)
EndFunc ;==>HotKeyPressed 本帖最后由 cashiba 于 2016-9-22 22:48 编辑
想在AU3中模拟按键的热键操控程序的功能,用以上代码大概部分能实现了.....
按键好像也设及VB+API等,为啥它的F12不需保留呢?
谢谢水大及时指点......
目前用热键F9 run来启动程序,F10 kill进程来中止程序,但是暂停/继续程序不知道是咋实现的。好像有点困难 本帖最后由 cashiba 于 2016-9-23 00:00 编辑
另外,虽然找到问题了,也不明白
WinWaitActive("")
与
WinActivate("无标题 - 记事本")
为啥产生的结果会不一样。
按理说WinWaitActive("")这个更具体....{:face (293):} 像这样吗?
http://www.jx3pve.com/thread-6493-1-1.html 回复 9# 水木子
高级货啊水版 能提供学习的机会么{:face (197):} 回复 8# cashiba
一个是暂停脚本直到窗口激活,一个是主动去激活窗口。
函数功能都不一样,结果为什么会一样? 回复 10# heroxianf
没啥高级的,这是以前帮朋友写的游戏辅助工具而已,好久没有更新了。 回复 12# 水木子
有没有地图探索功能~ 总觉得能做出很牛的外挂工具 本帖最后由 cashiba 于 2016-9-23 00:00 编辑
回复cashiba
一个是暂停脚本直到窗口激活,一个是主动去激活窗口。
函数功能都不一样,结果为什么会一 ...
水木子 发表于 2016-9-22 23:10 http://www.autoitx.com/images/common/back.gif
哦,我好像应该写
WinWaitActive("")
与
WinWaitActive("无标题 - 记事本")
再问的.
自己都被绕晕了.....
既然WinWaitActive比不上WinActivate高效,为啥不给淘汰掉呢,让咱们这些新手晕菜哇{:face (460):} 水大的工具运行起来很流畅,看大家都说好,肯定是好东西{:face (332):}.琢磨一下咋用.....
页:
[1]
2