feicuiboy 发表于 2009-8-7 07:05:01

求教:重启程序的实现方法

本帖最后由 feicuiboy 于 2009-8-27 19:09 编辑

求教:
如何关闭程序自身并重新启动该程序,在AU3中有几种方法?
比如说程序名为tt.exe

我想到的是DOS里面的taskill命令

顽固不化 发表于 2009-8-7 09:26:16

关闭了自身又怎么控制自身的启动?我也想知道i

水木子 发表于 2009-8-7 11:04:36

以前我也遇到过这样的问题.
我的思路是:在A程序退出前,启用B程序,而B程序用来检测A程序是否退出.
如果确定A程序退出,则由B程序重新开启A程序.
当然这个时候A程序上应该叫重启,和退出应该区别开,要不然老是循环.

个人愚见,未经测试,不知行不行.

llssky2003 发表于 2009-8-7 14:05:52

我写过类似的程序,程序运行时必须有两个程序,一个主程序另一个监视程序,你关闭的是主程序,使用监视程序来监视主程序是否关闭,如果关闭就运行主程序。
有些U盘病毒程序无法关闭就是通过这个方法实现的。

landays 发表于 2009-8-7 19:49:42

#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

jialibin 发表于 2009-8-7 20:32:01

楼上的方法不错,学习!

paulzhu 发表于 2009-8-7 21:15:17

值得借鉴,非常好的思路

pusofalse 发表于 2009-8-7 21:23:45

Exit(ShellExecute(@ScriptFullPath))

jialibin 发表于 2009-8-7 21:46:31

8楼这个更简洁,学习!不过没有延时。

free168 发表于 2009-8-7 21:59:32

好东西 慢慢消化

feicuiboy 发表于 2009-8-7 23:10:43

VERY   good

(@ScriptFullPath)) 我知道是运行目录下程序的意思,
能不能解释下exit的用法

pingfan5888 发表于 2012-2-10 23:31:53

正需要。学习了。

天空蓝 发表于 2013-1-30 17:03:48

感觉是好东西,不过还没实践过!

styore 发表于 2013-4-7 17:33:12

回复 8# pusofalse


    灰常给力.....哈哈

suifeng123 发表于 2014-9-23 18:37:08

正在研究。。。。。。。。。。。。
页: [1] 2
查看完整版本: 求教:重启程序的实现方法