找回密码
 加入
搜索
查看: 1918|回复: 4

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

[复制链接]
发表于 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那段没执行
但我找不到具体是哪的问题,请大家帮下忙

在这顺便感谢下上次那个告诉我写删除注册表启动项键值的朋友,通过研究他那段代码我最近编写进步不少
 楼主| 发表于 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到底怎么用的

评分

参与人数 1金钱 +5 收起 理由
lynfr8 + 5 不错,再接再厉

查看全部评分

发表于 2009-6-27 16:15:10 | 显示全部楼层
新手学习......
发表于 2009-7-13 13:34:08 | 显示全部楼层
学习了,谢谢
发表于 2014-5-15 10:41:26 | 显示全部楼层
雷锋精神传天下!谢谢分享!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-26 19:05 , Processed in 0.082645 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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