本帖最后由 afan 于 2009-8-12 12:35 编辑
容易实现点的就是用双程序互相监督,一个被结束则被另一个重新启动~
保护程序:#NoTrayIcon
While 1
If ProcessExists("主程序.exe") = 0 Then Run("主程序.exe")
Sleep(50)
WEnd
主程序:#NoTrayIcon
HotKeySet("^!{F1}", "hc") ;Ctrl+Alt+F1 调出
$reg = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run', 'test')
While 1
If ProcessExists("1.exe") = 0 Or ProcessExists("2.exe") = 0 Then
MsgBox(0, 0, ' 指定进程已被关闭。现在将重启! ')
ProcessClose("保护.exe")
ExitLoop
EndIf
If RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run', 'test') <> $reg Then
MsgBox(0, 0, ' 注册表已改变。现在将重启! ')
ProcessClose("保护.exe")
ExitLoop
EndIf
If ProcessExists("保护.exe") = 0 Then Run("保护.exe")
Sleep(50)
WEnd
;Shutdown(6) ;重启
Func hc()
$mm = '1234' ;设置密码
$a = InputBox("输入密码", "请输入密码 ", "", "*m", 300, 120)
If $a = $mm Then
MsgBox(64, 0, '密码正确,退出 ')
ProcessClose("保护.exe")
Exit
ElseIf $a <> '' Then
MsgBox(48, 0, '密码不正确')
EndIf
EndFunc ;==>hc
|