找回密码
 加入
搜索
查看: 735|回复: 6

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

[复制链接]
发表于 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
发表于 2022-9-23 17:50:08 | 显示全部楼层
用命令行去重启
 楼主| 发表于 2022-9-23 19:05:33 | 显示全部楼层

麻烦写出来我看看好吗,我试了十几种写法都没成功的
发表于 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


 楼主| 发表于 2022-9-24 09:48:08 | 显示全部楼层

真是大神,这种都能解决,,,,膜拜了
发表于 2022-9-24 21:39:25 | 显示全部楼层
学习了,刚好我也需要这个功能
发表于 2022-9-29 09:53:07 | 显示全部楼层
此人是骗子,谨防上当受骗。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-22 11:08 , Processed in 0.071144 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表