z761003 发表于 2022-9-23 16:38:41

请教个程序重启的问题[已解决]

本帖最后由 z761003 于 2022-9-24 09:47 编辑

下面这段代码能正常实现关闭后重启自己
#include <CoProc.au3> ;多线程
;Global $SubProc_0=_CoProc("Sub")   ;多进程

MsgBox(0,"","我要重启了")

Exit Run(@ScriptFullPath)

Func Sub()

EndFunc

不过如果把多进程的$SubProc_0=_CoProc("Sub")这句注释去了,这个重启自己就启不来了,直接退出不反应了。我看了下这个多进程的函数,应该是下面这一句影响了它的自启,有前辈能想想办法,即让多进程能正常用,又能自启成功的方法:
$iPid = Run(FileGetShortName(@AutoItExe) & ' "' & @ScriptFullPath & '"', @WorkingDir, @SW_HIDE, 1 + 2 + 4)


=========整个函数我复制在这里
Func _CoProc($sFunction = Default, $vParameter = Default)
      Local $iPid, $iOldRunErrorsFatal
      If IsKeyword($sFunction) Or $sFunction = "" Then $sFunction = "__CoProcDummy"
      $iOldRunErrorsFatal = Opt("RunErrorsFatal", 0)
      EnvSet("CoProc", "0x" & Hex(StringToBinary ($sFunction)))
      EnvSet("CoProcParent", @AutoItPID)
      If Not IsKeyword($vParameter) Then
                EnvSet("CoProcParameterPresent", "True")
                EnvSet("CoProcParameter", StringToBinary ($vParameter))
      Else
                EnvSet("CoProcParameterPresent", "False")
      EndIf
      If @Compiled Then
                $iPid = Run(FileGetShortName(@AutoItExe), @WorkingDir, @SW_HIDE, 1 + 2 + 4)
      Else
                $iPid = Run(FileGetShortName(@AutoItExe) & ' "' & @ScriptFullPath & '"', @WorkingDir, @SW_HIDE, 1 + 2 + 4)
      EndIf
      If @error Then SetError(1)
      Opt("RunErrorsFatal", $iOldRunErrorsFatal)
      Return $iPid
EndFunc   ;==>_CoProc

zghwelcome 发表于 2022-9-23 17:50:08

用命令行去重启

z761003 发表于 2022-9-23 19:05:33

zghwelcome 发表于 2022-9-23 17:50
用命令行去重启

麻烦写出来我看看好吗,我试了十几种写法都没成功的

zghwelcome 发表于 2022-9-23 20:07:19

#include <CoProc.au3>;多线程
Global $SubProc_0 = _CoProc("Sub") ;多进程

MsgBox(0, "", "我要重启了")

EnvSet("CoProcParameterPresent", "")
EnvSet("CoProcParameter", "")
EnvSet("CoProc", "")
EnvSet("CoProcParent", "")
Exit Run(@ScriptFullPath)

Func Sub()
EndFunc   ;==>Sub


z761003 发表于 2022-9-24 09:48:08

zghwelcome 发表于 2022-9-23 20:07


真是大神,这种都能解决,,,,膜拜了

891108506 发表于 2022-9-24 21:39:25

学习了,刚好我也需要这个功能

zhao_ming 发表于 2022-9-29 09:53:07

此人是骗子,谨防上当受骗。
页: [1]
查看完整版本: 请教个程序重启的问题[已解决]