找回密码
 加入
搜索
查看: 9820|回复: 19

如何实现让脚本暂停,等待键盘输入后继续执行

[复制链接]
发表于 2009-11-10 00:18:13 | 显示全部楼层 |阅读模式
本帖最后由 qusibago 于 2009-11-11 09:43 编辑

如题,希望脚本运行中暂停某个位置,等待键盘或鼠标输入任意字符后继续执行
发表于 2009-11-10 09:25:05 | 显示全部楼层
文不对题?偶没看明白
发表于 2009-11-10 10:41:42 | 显示全部楼层
楼主组织哈语言。。
 楼主| 发表于 2009-11-11 09:43:50 | 显示全部楼层
呵呵,已经修改。原先题目是问题,贴子是原因。
发表于 2009-11-11 09:49:04 | 显示全部楼层
InputBox
 楼主| 发表于 2009-11-11 10:10:49 | 显示全部楼层
回楼上的,用InputBox的话,焦点在InputBox上,但是我需要把焦点放在其他窗口,有没有其他的方法?

当然,InputBox配合WinWaitNoActive也可以实现。
发表于 2009-11-11 10:25:22 | 显示全部楼层
前段时间我也有这方面的需要,有个不成熟的思路尚未实践。
可以执行到需要停止的地方用send函数自动按下快捷键例如Pause执行一个暂停的子程序,待你暂停可以结束的时候再次按下另一个快捷键退出暂停子程序回到主程序。
如果思路对路你可以实践一下。
发表于 2009-11-11 14:49:28 | 显示全部楼层
为什么不能用HotKeySet?
 楼主| 发表于 2009-11-11 16:52:18 | 显示全部楼层
用Hotkeyset可以配合判断语句使用,但是暂停程序执行的话,效率不高啊。
有个缺点是HotKey是全局的,当你在不必要的位置点击了那个HotKey,麻烦可就大了。
发表于 2009-11-11 17:20:25 | 显示全部楼层
有道理,那你试试_IsPressed这个UDF
发表于 2009-11-11 17:33:02 | 显示全部楼层
呵呵!还没解决吗?

我想的是写判断,当某按钮按下再继续后面的代码。

比如:输入完数据后一般都会按“确定”等之类的按钮吧!当发现这个按钮被点击后再继续下面的代码。
 楼主| 发表于 2009-11-11 18:05:20 | 显示全部楼层
楼上的方法不错。这也是不是说明了autoit3还有很多不足?
热键居然不能使用带参数的函数,晕死了。
发表于 2009-11-11 23:05:28 | 显示全部楼层
lz 不知道你中间要写入什么  我想 如果是要输入 验证码的话
就在 运行到的时候 进入一个判断的语句  判断输入的是不是4个字符 如果是的话 就退出循环 继续往下的代码
发表于 2009-11-12 07:25:52 | 显示全部楼层
楼上的方法不错。这也是不是说明了autoit3还有很多不足?
热键居然不能使用带参数的函数,晕死了。


呵..這點確實很傷腦筋,我當初設計的許多小掛,也咬死在這裡...
本以為能夠
Alt +1
Alt +2
Alt +3
分別帶入參數時,可以直接相同一個腳本集
※ 據說Au3 是有參數可以讀取當時按鍵反應(偵測),可惜這份技術文,沒頭緒找不齊...
发表于 2009-11-12 10:30:47 | 显示全部楼层
#include <Misc.au3>

$dll = DllOpen("user32.dll")

While 1
    Sleep ( 250 )
        If _IsPressed("12", $dll) And _IsPressed("31", $dll) Then _function(1)        ;Alt+1
        If _IsPressed("12", $dll) And _IsPressed("32", $dll) Then _function(2)        ;Alt+2
        If _IsPressed("12", $dll) And _IsPressed("33", $dll) Then _function(3)        ;Alt+3
        If _IsPressed("23", $dll) Then ExitLoop                                                                        ;End       
WEnd
DllClose($dll)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-27 01:40 , Processed in 0.085071 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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