求教:重启程序的实现方法
本帖最后由 feicuiboy 于 2009-8-27 19:09 编辑求教:
如何关闭程序自身并重新启动该程序,在AU3中有几种方法?
比如说程序名为tt.exe
我想到的是DOS里面的taskill命令 关闭了自身又怎么控制自身的启动?我也想知道i 以前我也遇到过这样的问题.
我的思路是:在A程序退出前,启用B程序,而B程序用来检测A程序是否退出.
如果确定A程序退出,则由B程序重新开启A程序.
当然这个时候A程序上应该叫重启,和退出应该区别开,要不然老是循环.
个人愚见,未经测试,不知行不行. 我写过类似的程序,程序运行时必须有两个程序,一个主程序另一个监视程序,你关闭的是主程序,使用监视程序来监视主程序是否关闭,如果关闭就运行主程序。
有些U盘病毒程序无法关闭就是通过这个方法实现的。 #include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 305, 145, -1,-1)
$Button1 = GUICtrlCreateButton("退出", 64, 40, 105, 49, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$Msg = MsgBox (48+4,"","是否重启程序?")
IF $Msg = 6 Then
Run(@ComSpec&" /c ping 127.1 -n 3&start "&FileGetShortName (@ScriptFullPath),"",@SW_HIDE)
exit
EndIf
EndSwitch
WEnd 楼上的方法不错,学习! 值得借鉴,非常好的思路 Exit(ShellExecute(@ScriptFullPath)) 8楼这个更简洁,学习!不过没有延时。 好东西 慢慢消化 VERY good
(@ScriptFullPath)) 我知道是运行目录下程序的意思,
能不能解释下exit的用法 正需要。学习了。 感觉是好东西,不过还没实践过! 回复 8# pusofalse
灰常给力.....哈哈 正在研究。。。。。。。。。。。。
页:
[1]
2