简单程序已修正,问题原因看回复【已解决】谢谢大家!
本帖最后由 ransally 于 2010-7-12 09:40 编辑ShellExecute("C:\Program Files\aa")
If WinExists("C:\Program Files\aa","") Then
Send("{enter}")
MsgBox(48,"","文件不存在")
Else
MsgBox(48,"","文件存在")
EndIf
正确的程序已经知道了 afan 版主的程序是可以的。
但是现在追加一个问题,为什么不监测直接运行会出现上面的情况,那个提示窗口,怎么都关不掉
问题答案在回复中! 依然在线等,等到六点 "C:\Program Files\aa" 是文件还是文件夹?有什么问题? Send("{enter}") 是干啥用的? 是文件夹,一个不存在的文件夹。Send关窗口用的,本来使用的Winclose(),关不掉,用send也关不掉 这种情况应该先用 FileExists() 检查指定目录是否存在,然后再 ShellExecute() 激活窗口在使用Winclose(),我也没成功.......... 回复 3# afan
这个错误,很奇怪 窗口实际出现时会有延时,而此时脚本已经运行完了啊,用WinWait或Sleep加延时。 $dir = "C:\Program Files\aa"
If FileExists($dir) Then
ShellExecute($dir)
Else
MsgBox(48, '错误', '指定文件夹:"' & $dir & '"不存在')
EndIf 回复 6# afan
搞定。谢谢,afan,那你能不能告诉我,用那个方法为什么关不掉那个提示窗口?? 回复 9# pusofalse
去试试 回复 11# ransally
那得多线程~ ShellExecute("C:\Program Files\aa")
WinWaitActive("aa")
If WinExists("aa","") Then
Send("{enter}")
MsgBox(48,"","文件不存在")
Else
MsgBox(48,"","文件存在")
EndIf错就错在窗口不是路径,而是窗口名 回复 9# pusofalse
ShellExecute("C:\Program Files\aa")
sleep(10000)
IfWinExists("C:\Program Files\aa","") Then
WinClose("C:\Program Files\aa","")
MsgBox(48,"","文件不存在")
Else
MsgBox(48,"","文件存在")
EndIf
这样吗?还是失败,SLEEP()时间我换了好几个,都不行