找回密码
 加入
搜索
查看: 7341|回复: 10

[AU3基础] CMD指令?

 火.. [复制链接]
发表于 2012-12-11 13:31:53 | 显示全部楼层 |阅读模式
剛剛發現使用run("cmd")呼叫出來的cmd視窗,如果在視窗下輸入ping -t 192.168.1.1後,如果想要停止ping的動作時,按下CTRL+C會無法停止ping ip的動作,但是如果使用windows呼叫出來的cmd視窗,可以正常的停止ping ip動作,不知道有沒有人知道是什麼原因?
发表于 2012-12-11 14:11:59 | 显示全部楼层
试了,没问题。都可以停止
发表于 2012-12-11 14:16:47 | 显示全部楼层
回复 2# afan


    A版,我也试了,真的不可以哦,run runwait shellexecute等都是不行~~
发表于 2012-12-11 14:31:02 | 显示全部楼层
回复 3# 轩辕小妖


    我的OS是XPsp3(x86),测试了多次,都正常
发表于 2012-12-11 20:49:17 | 显示全部楼层
回复  afan


    A版,我也试了,真的不可以哦,run runwait shellexecute等都是不行~~
轩辕小妖 发表于 2012-12-11 14:16

确实是这样子
我也是一样的问题
XP SP3
发表于 2012-12-11 20:55:17 | 显示全部楼层
还真是这样  WIN7 x64
发表于 2012-12-11 23:46:15 | 显示全部楼层
竟然有这回事.我的也是XP SP3 32位`~
发表于 2012-12-13 00:21:08 | 显示全部楼层
回复 4# afan


    我测试的跟你一样的系统,的确如楼主所说。很奇怪的事!
用au3如下面的代码,的确不能用ctrl-c中断
 Run(@ComSpec & ' /k' & 'ping -t "www.baidu.com"')


但若用vbs,如下面的代码,就可以用ctrl-c中断
Set objShell = CreateObject("Wscript.Shell")
objShell.Run("%comspec% /k ping -t www.baidu.com"), 1, TRUE
不知道au3内部是如何调用cmd的,可能是由于Ctrl + C 是缓存中唯一的键序列, 当且仅当 操作系统 尝试从 键盘缓存中读取时, Ctrl + C 才会被检测到的缘故吧。因为此时可能au3把cmd做为子程序来启动的,操作系统可能把这个键值传给au3了。象Ctrl-Break(也就相当于DOS 下的 1BH 中断)因为不会进入键盘缓存,则立即被解释了。
发表于 2012-12-13 01:03:25 | 显示全部楼层
回复 8# happytc


    你们都是用的 SciTe 编辑器运行的吧?我从不用那厮…… 我是直接运行脚本的。
发表于 2012-12-13 01:31:15 | 显示全部楼层
回复 9# afan
原来是SciTe Editor的问题。
 楼主| 发表于 2012-12-13 16:26:26 | 显示全部楼层
回复  happytc


    你们都是用的 SciTe 编辑器运行的吧?我从不用那厮…… 我是直接运行脚本的。
afan 发表于 2012-12-13 01:03


剛剛試了一下,真的使用SciTe 編輯器運行的話,會沒辦法使用Ctrl + C,但是如果直接運行腳本的話是正常的,沒想到還有這種差異...
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-26 11:47 , Processed in 0.073641 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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