drunk 发表于 2009-6-27 11:27:25

我又有问题了,请大家帮我检查下这段代码

本帖最后由 drunk 于 2009-6-29 10:15 编辑

$d = FileExists("\Temporary Backup\")
$r = StringCompare($d,"Regedit.reg",2)

If $d > $r Then
        Run(@ComSpec & ' /c"Temporary Backup\Regedit.reg" ',"",@SW_HIDE)
Else
    Exit
EndIf

WinWait("注册表编辑器","")
If Not WinWait("注册表编辑器","") Then WinActivate("注册表编辑器","")
WinWaitActive("注册表编辑器","")
Send("Y!")

While 1
$x = ProcessExists("regedit.exe")
$z = WinExists("注册表编辑器","无法导入")
If $x <> 0 Then
           WinExists("注册表编辑器","无法导入")
ElseIf $z = 1 Then
           ProcessClose("regedit.exe")
Else
    Exit
EndIf
WEnd上面这段代码是我写的还原注册表代码
但当执行到弹出“无法导入”窗口时无法执行我的命令
可能是是检测窗口代码没执行,也可能是ElseIf那段没执行
但我找不到具体是哪的问题,请大家帮下忙

在这顺便感谢下上次那个告诉我写删除注册表启动项键值的朋友,通过研究他那段代码我最近编写进步不少

drunk 发表于 2009-6-27 11:50:34

哈哈   我自己解决了   改成这样就可以了$d = FileExists("\Temporary Backup\")
$r = StringCompare($d,"Regedit.reg",2)

If $d > $r Then
        Run(@ComSpec & ' /c"Temporary Backup\Regedit.reg" ',"",@SW_HIDE)
Else
    Exit
EndIf

WinWait("注册表编辑器","")
If Not WinWait("注册表编辑器","") Then WinActivate("注册表编辑器","")
WinWaitActive("注册表编辑器","")
Send("Y!")

While 1
$x = ProcessExists("regedit.exe")
$z = WinExists("注册表编辑器","无法导入")
If $x <> 0 Then
           WinExists("注册表编辑器","无法导入")
    If $z = 1 Then
                ProcessClose("regedit.exe")
        EndIf
Else
    Exit
EndIf
WEnd原来是我的elseif用得不正确,我得研究研究elseif到底怎么用的

sscemail 发表于 2009-6-27 16:15:10

新手学习......

ccg0538 发表于 2009-7-13 13:34:08

学习了,谢谢

hollandmfq 发表于 2014-5-15 10:41:26

雷锋精神传天下!谢谢分享!
页: [1]
查看完整版本: 我又有问题了,请大家帮我检查下这段代码