qusibago 发表于 2009-11-10 00:18:13

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

本帖最后由 qusibago 于 2009-11-11 09:43 编辑

如题,希望脚本运行中暂停某个位置,等待键盘或鼠标输入任意字符后继续执行

顽固不化 发表于 2009-11-10 09:25:05

文不对题?偶没看明白

zl5530535 发表于 2009-11-10 10:41:42

楼主组织哈语言。。

qusibago 发表于 2009-11-11 09:43:50

呵呵,已经修改。原先题目是问题,贴子是原因。

水木子 发表于 2009-11-11 09:49:04

InputBox

qusibago 发表于 2009-11-11 10:10:49

回楼上的,用InputBox的话,焦点在InputBox上,但是我需要把焦点放在其他窗口,有没有其他的方法?

当然,InputBox配合WinWaitNoActive也可以实现。

yigao 发表于 2009-11-11 10:25:22

前段时间我也有这方面的需要,有个不成熟的思路尚未实践。
可以执行到需要停止的地方用send函数自动按下快捷键例如Pause执行一个暂停的子程序,待你暂停可以结束的时候再次按下另一个快捷键退出暂停子程序回到主程序。
如果思路对路你可以实践一下。

wisly 发表于 2009-11-11 14:49:28

为什么不能用HotKeySet?

qusibago 发表于 2009-11-11 16:52:18

用Hotkeyset可以配合判断语句使用,但是暂停程序执行的话,效率不高啊。
有个缺点是HotKey是全局的,当你在不必要的位置点击了那个HotKey,麻烦可就大了。

wisly 发表于 2009-11-11 17:20:25

有道理,那你试试_IsPressed这个UDF

水木子 发表于 2009-11-11 17:33:02

呵呵!还没解决吗?

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

比如:输入完数据后一般都会按“确定”等之类的按钮吧!当发现这个按钮被点击后再继续下面的代码。

qusibago 发表于 2009-11-11 18:05:20

楼上的方法不错。这也是不是说明了autoit3还有很多不足?
热键居然不能使用带参数的函数,晕死了。

askask150 发表于 2009-11-11 23:05:28

lz 不知道你中间要写入什么我想 如果是要输入 验证码的话
就在 运行到的时候 进入一个判断的语句判断输入的是不是4个字符 如果是的话 就退出循环 继续往下的代码

ZEROBOYS 发表于 2009-11-12 07:25:52

楼上的方法不错。这也是不是说明了autoit3还有很多不足?
热键居然不能使用带参数的函数,晕死了。

呵..這點確實很傷腦筋,我當初設計的許多小掛,也咬死在這裡...
本以為能夠
Alt +1
Alt +2
Alt +3
分別帶入參數時,可以直接相同一個腳本集
※ 據說Au3 是有參數可以讀取當時按鍵反應(偵測),可惜這份技術文,沒頭緒找不齊...

wisly 发表于 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)
页: [1] 2
查看完整版本: 如何实现让脚本暂停,等待键盘输入后继续执行