能向隐藏的窗口发送消息吗?
就是我用AU3运行了一个程序,我设成了隐藏,那程序里有对框,我能向那对话框里发送消息吗? 用控件函数! 能来个例子吗?比如操作记事本. 为了让你能看到结果:
Run('notepad.exe','',@SW_MINIMIZE)
WinWait('无标题 - 记事本','')
ControlSend('无标题 - 记事本','','Edit1','HELP YOU')
;~ 或
ControlSetText('无标题 - 记事本','','Edit1','以后要多看帮助')
:face (22): 我说的是隐藏~不是最小化.
WinWait 是要有窗口,并且是当前激活的.
隐藏的是没窗口,怎么操作?你误解我的意思了. 4楼的并没有误解。而误解的只是楼上的。 4楼写的没有错只是楼没有理解吧! Run('notepad.exe')
WinWait('无标题 - 记事本','')
sleep(1000)
WinSetState ( '无标题 - 记事本', "", @SW_hide)
ControlSetText('无标题 - 记事本','','Edit1','以后要多看帮助')
;~ ControlSend('无标题 - 记事本','','Edit1','HELP YOU')
sleep(2000)
WinSetState ( '无标题 - 记事本', "", @SW_show) 那么当用 ControlSend 和 ControlSetData 传送时有 乱码 怎么办啊?
还有别的方法吗? 发现一个现象,ControlSetText发送消息后,记事本不认为已经改变内容了。 我也正想问问这个问题~~我的是这样,但还是有窗口,大家来说说看。
Run("ghost.exe","",@SW_HIDE)
WinWaitActive("OneKey Ghost Y3.2", "还原系统")
ControlSetText("OneKey Ghost Y3.2", "还原系统", "TEdit1", $varPath) 我为什么就是不能隐藏运行~~
要自动运行的程序总是弹出来:
Dim $varGhost,$varPath,$handle
$varGhost=IniRead("setup.ini","ghostVer","ghost","")
$varPath=iniread("setup.ini","paths","path","")
Run("ghost.exe","",@SW_HIDE)
WinWait("OneKey Ghost Y3.2", "还原系统")
AutoItSetOption("WinTitleMatchMode", 4)
$handle = WinGetHandle("classname=OneKey", "还原系统");获取窗口的句柄
ControlSetText($handle, "还原系统", "TEdit1", $varPath)
我现在已改成用控件输入,又获取窗口标题为句柄了,还是不行,郁闷。
有没有老师来实例说说呢~~
[ 本帖最后由 yellow881 于 2008-11-8 20:59 编辑 ] 原帖由 xsw123 于 2008-11-7 18:16 发表 http://www.autoitx.com/images/common/back.gif
发现一个现象,ControlSetText发送消息后,记事本不认为已经改变内容了。
嗯,是啊,所以古人云,温故而知新,就是要让我们不断的尝试...有时候一些问题是靠试出来的 原帖由 yellow881 于 2008-11-7 22:45 发表 http://www.autoitx.com/images/common/back.gif
我也正想问问这个问题~~我的是这样,但还是有窗口,大家来说说看。
Run("ghost.exe","",@SW_HIDE)
WinWaitActive("OneKey Ghost Y3.2", "还原系统")
ControlSetText("OneKey Ghost Y3.2", "还原系统", "TEdit1",...
不知道你运行这个程序是怎么样的,所以不能有什么好办法提出,但如果你想不显现窗口起码不要用WinWaitActive(),用WinWait()或干脆按已知标题连续的设置隐藏WinSetState('OneKey Ghost Y3.2','',@SW_HIDE)直到确定窗口已经加载完为止... 很感谢楼上的老师,用你的方法是成功了,但另一个问题又出来了
就是关不掉窗口,用了WinKill 关也不行
[ 本帖最后由 yellow881 于 2008-11-9 09:29 编辑 ]
页:
[1]
2