找回密码
 加入
搜索
查看: 6798|回复: 22

[AU3基础] 设置热键后,按热键后没有反应的原因?[已解决]

  [复制链接]
发表于 2016-9-22 22:16:54 | 显示全部楼层 |阅读模式
本帖最后由 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("[CLASS:Notepad]", "", 0)
    Send("现在的日期/时间: {F5}")
EndFunc

Func endnote()
local $hwnd=WinWaitActive("[TITLE:无标题 - 记事本;CLASS:notepad]")
     Sleep(500)
     WinClose($hWnd)
     WinWaitActive("[CLASS:#32770]")
     Sleep(500)
     Send("{TAB}{ENTER}")
EndFunc
发表于 2016-9-22 22:20:03 | 显示全部楼层
你真的认真看了帮助文档吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2016-9-22 22:26:45 | 显示全部楼层
你真的认真看了帮助文档吗?
水木子 发表于 2016-9-22 22:20

已经考虑到这个问题了,换其它的比喻F9也是一样没反应阿...
 楼主| 发表于 2016-9-22 22:35:27 | 显示全部楼层
唉,好像发现问题在哪里了。。。。
改成下面这样可以运行了
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("[CLASS:Notepad]", "", 0)
    Send("现在的日期/时间: {F5}")
EndFunc

Func endnote()
local $hwnd=WinActivate("无标题 - 记事本")
     ConsoleWrite($hwnd & @CRLF)
     Sleep(500)
     WinClose($hWnd)
         WinWaitActive("[CLASS:#32770]")
     Sleep(500)
     Send("{TAB}{ENTER}")
EndFunc
一个是水大说的F12保留,另一个是:WinWaitActive("TITLE:无标题 - 记事本;[CLASS:notepad]")好像不好用,改成WinActivate("无标题 - 记事本")就可以了。
难道这就是画蛇添足?
发表于 2016-9-22 22:37:07 | 显示全部楼层
回复 3# cashiba

热键肯定是没问题的,你得检查下,是不是你其他地方出了问题。
HotKeySet('{F8}', 'HotKeyPressed')
HotKeySet('{F9}', 'HotKeyPressed')

While 1
    Sleep(250)
WEnd

Func HotKeyPressed()
    MsgBox(0, 0, @HotKeyPressed)
EndFunc   ;==>HotKeyPressed
 楼主| 发表于 2016-9-22 22:42:34 | 显示全部楼层
本帖最后由 cashiba 于 2016-9-22 22:48 编辑

想在AU3中模拟按键的热键操控程序的功能,用以上代码大概部分能实现了.....
按键好像也设及VB+API等,为啥它的F12不需保留呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2016-9-22 22:47:52 | 显示全部楼层
谢谢水大及时指点......
目前用热键F9 run来启动程序,F10 kill进程来中止程序,但是暂停/继续程序不知道是咋实现的。好像有点困难
 楼主| 发表于 2016-9-22 22:51:33 | 显示全部楼层
本帖最后由 cashiba 于 2016-9-23 00:00 编辑

另外,虽然找到问题了,也不明白
WinWaitActive("[TITLE:无标题 - 记事本;CLASS:notepad]")

WinActivate("无标题 - 记事本")
为啥产生的结果会不一样。
按理说WinWaitActive("[TITLE:无标题 - 记事本;CLASS:notepad]")这个更具体....
发表于 2016-9-22 22:53:11 | 显示全部楼层
发表于 2016-9-22 23:08:36 | 显示全部楼层
回复 9# 水木子


    高级货啊  水版   能提供学习的机会么
发表于 2016-9-22 23:10:52 | 显示全部楼层
回复 8# cashiba
一个是暂停脚本直到窗口激活,一个是主动去激活窗口。
函数功能都不一样,结果为什么会一样?
发表于 2016-9-22 23:12:11 | 显示全部楼层
回复 10# heroxianf

没啥高级的,这是以前帮朋友写的游戏辅助工具而已,好久没有更新了。
发表于 2016-9-22 23:15:17 | 显示全部楼层
回复 12# 水木子

有没有地图探索功能~    总觉得能做出很牛的外挂工具
 楼主| 发表于 2016-9-22 23:31:54 | 显示全部楼层
本帖最后由 cashiba 于 2016-9-23 00:00 编辑
回复  cashiba
一个是暂停脚本直到窗口激活,一个是主动去激活窗口。
函数功能都不一样,结果为什么会一 ...
水木子 发表于 2016-9-22 23:10

哦,我好像应该写
WinWaitActive("[TITLE:无标题 - 记事本;CLASS:notepad]")

WinWaitActive("无标题 - 记事本")
再问的.
自己都被绕晕了.....
既然WinWaitActive比不上WinActivate高效,为啥不给淘汰掉呢,让咱们这些新手晕菜哇
 楼主| 发表于 2016-9-22 23:35:38 | 显示全部楼层
水大的工具运行起来很流畅,看大家都说好,肯定是好东西.琢磨一下咋用.....
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 08:19 , Processed in 0.078401 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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