找回密码
 加入
搜索
查看: 2418|回复: 10

求助:AU3中瑞星2009用什么命令可以不用重新起机就能生效??

[复制链接]
发表于 2009-3-4 09:33:12 | 显示全部楼层 |阅读模式
瑞星安装完毕以后,需要重新起机,
AU3中瑞星2009用什么命令可以不用重新起机就能生效??

[ 本帖最后由 lohibn 于 2009-3-4 09:41 编辑 ]
发表于 2009-3-4 09:44:13 | 显示全部楼层
这个问题估计要问小毛了啊
 楼主| 发表于 2009-3-4 09:49:30 | 显示全部楼层
小毛看看啊!!
发表于 2009-3-4 10:06:55 | 显示全部楼层
这和其实就不是AU3的范畴了  是安装软件的问题

瑞星安装完毕后需要在启动项和关联等做一些必要的修改 所以重启还是必要的
 楼主| 发表于 2009-3-4 13:00:48 | 显示全部楼层
瑞星在安装完毕以后,比如说安装显卡驱动,在显卡驱动安装结束后,会修改系统的一些东西。这样瑞星就可以在不用重新启动计算机的情况下可以使用。大家知道是显卡修改了系统了什么东西??是不是注册表??在AU3中如何调用?是什么命令??
发表于 2009-3-4 13:07:51 | 显示全部楼层
原帖由 lohibn 于 2009-3-4 13:00 发表
瑞星在安装完毕以后,比如说安装显卡驱动,在显卡驱动安装结束后,会修改系统的一些东西。这样瑞星就可以在不用重新启动计算机的情况下可以使用。大家知道是显卡修改了系统了什么东西??是不是注册表??在AU3中如何 ...


下个注册表比较的工具
发表于 2009-3-4 21:26:11 | 显示全部楼层
在2008中可以用 右键单击某个*.Inf (安装信息文件)-安装解决,但2009貌似不重启就不行的。
发表于 2009-3-6 10:59:38 | 显示全部楼层
重启一下机器就这么难?或者说瑞星的研发团队太差了?
发表于 2009-3-23 10:28:11 | 显示全部楼层

免重启安装瑞星2009正式版脚本

#Cs ____________________________________
脚本功能: 试图自动安装正版瑞星 2009 全功能杀毒软件(自动填序列号和 ID / 免重启)
#Ce ____________________________________

$Title = 'RiSingInstaller'
If WinExists($Title) Then
        OhNo()
EndIf
AutoItWinSetTitle($Title)

Func OhNo()
        MsgBox(64 + 262144, '    老大,  请注意此消息: 貌似本程序已经运行了...', '请'& _
                '查看任务栏系统托盘的最左边的图标, 这就退出...', 5)
        Exit ; 已经运行了一个进程...
EndFunc   ;==>OhNo

$WinTitle = "瑞星全功能安全软件"

Opt("WinTitleMatchMode", 4)

;=================== 判断用户是否已经安装 ====================
$PreSet = RegRead('HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ris', 'UninstallString')
$AppDir = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\rising\Ris', 'InstallPath')
$RiSing = $AppDir & '\RsMain.eXe'

If $PreSet <> '' And FileExists($RiSing) Then
        MsgBox(48 + 262144, '貌似您已经(正确)地安装了瑞星软件!', '貌似您已经很(正确)地安装了瑞星系列软件!' & @CR & @CR & _
                '如果软件运行正常, 我们不建议您重新安装...', 5)
        Exit ;==> 如果用户已经安装, 则退出! 否则执行光盘安装, 代码如下:
Else
        
#Cs
;==================== 判断光驱代码开始 =======================
        $Disk = DriveGetDrive("CdRom")
        If Not @Error Then
                ;        MsgBox(64+262144,"您有 " & $Disk[0] & " 个光驱", "找到 " & $Disk[0] & " 个光驱",3)
                For $i = 1 To $Disk[0]
                        $CdRom = DriveGetType($Disk[$i])
                        If $CdRom = 'CdRom' Then
                                ;MsgBox(64+262144,'您的光驱是','您的光驱是: ' & $Disk[$i])
                                If DriveSpaceTotal($Disk[$i]) = 0 Then
                                        MsgBox(48 + 262144, '哎呀! 实在是不好意思, 出错了啦~~~', '搞了半天, ' & _
                                        '我这才发现: 原来您的光驱 ' & StringUpper($Disk[$i]) & ' 盘里没有光盘! ' & @CR & @CR & _
                                        '可能是光驱的仓门没有关紧! 或者您没有放入瑞星光盘... ',5)
                                Else
                                        ExitLoop
                                EndIf
                        EndIf
                Next
                $Drive = $Disk[$i]
                $File = $Drive & '\Ris\Setup.eXe'
                Run($File)
EndIf
EndIf
;=================== 判断光驱代码结束 ====================
#Ce

;==================== 光盘安装版代码 =====================

TrayTip('       正在自动安装 瑞星 2009 正式版...','请勿做任何操作, 以免发生意外导致程序无法自动完成...',15,4)
Run('Ris\Setup.eXe')
EndIf

$T1 = '瑞星全功能安全软件'
$W1 = 'Simplified Chinese'
$W2 = ' 瑞星欢迎您'
$W3 = ' 最终用户许可协议 '
$W4 = ' 验证产品序列号和用户ID:'
$W5 = ' 定制安装 '
$W6 = ' 选择目标文件夹'
$W7 = ' 选择开始菜单文件夹'
$W8 = ' 安装信息 '
$W9 = ' 瑞星内存病毒查杀'
$WE = ' 结束 '
$WF = ' 完成(&F) '

$T2 = '网络程序设置'
$WA = '瑞星个人防火墙向导'

$T3 = 'Windows 文件保护'
$WB = '取消'
$WC = '是(&Y)'

WinWait($T1,$W1)
ControlClick($T1,$W1,'Button3')
WinActivate($T1,$W1)
ControlClick($T1,$W1,'Button1')

WinWait($T1,$W2)
ControlClick($T1,$W2,'Button2')

WinWait($T1,$W3)
ControlCommand($T1,$W3,'Button6','Check')
ControlClick($T1,$W3,'Button2')

WinWait($T1,$W4)
ControlCommand($T1,$W4,'Button6','Check')
WinWaitActive($T1,$W4)
ControlClick($T1,$W4,'Button2')
WinWaitActive($T1,$W4)
ControlSetText($T1,$W4,"Edit2","序列号1")
WinActivate($T1,$W4)
ControlSetText($T1,$W4,"Edit3","序列号2")
WinActivate($T1,$W4)
ControlSetText($T1,$W4,"Edit4","序列号3")
WinActivate($T1,$W4)
ControlSetText($T1,$W4,"Edit5","序列号4")
WinActivate($T1,$W4)
ControlSetText($T1,$W4,"Edit6","您的瑞星ID号")
WinActivate($T1,$W4)
ControlClick($T1,$W4,"Button2")

WinWait($T1,$W5)
ControlClick($T1,$W5,"Button2")

WinWait($T1,$W6)
;WinActivate($T1,$W6)
;ControlSetText($T1,$W6,"Edit7","D:\Program Files\RiSing\") ; 改变安装目录
ControlClick($T1,$W6,"Button2")

If WinWait('瑞星安装程序 ','',2) Then
        ControlClick('瑞星安装程序 ','','Button1')
EndIf

WinWait($T1,$W7)
WinActivate($T1,$W7)
ControlSetText($T1,$W7,'Edit8','瑞星2009正版')
ControlCommand($T1,$W7,'Button12','UnCheck')
ControlCommand($T1,$W7,'Button13','UnCheck')
WinActivate($T1,$W7)
ControlClick($T1,$W7,"Button2")

WinWait($T1,$W8)
WinActivate($T1,$W8)
ControlClick($T1,$W8,"Button2")

If WinExists($T3,$WB) Then
        ControlClick($T3,$WB,'Button3')
        WinWait($T3,$WC)
        ControlClick($T3,$WC,'Button1')
Else
        WinWait($T2,$WA)
        WinActivate($T2,$WA)
        ControlClick($T2,$WA,"Button1")
        WinWait($T1,$WE)
        WinActivate($T1,$WE)
        ControlClick($T1,$WE,"Button19")
        WinActivate($T1,$WE)
        ControlClick($T1,$WE,"Button3")
EndIf

;---------------- 免重启代码开始 --------------------
$InfDir = @WindowsDir & '\Inf\'
While 1
$SearCh = FileFindFirstFile($IniDir & 'Oem*.Inf')
        $InfFile = FileFindNextFile($SearCh)
;        MsgBox(0,$InfFile,$InfFile)
        ShellExecute('Rundll32', 'SetupAPI,InstallHinfSection DefaultInstall 132 ' & $InfDir & $InfFile)
        ExitLoop
WEnd
        FileClose($SearCh)
;----------------  免重启代码结束 --------------------

WinWait($T1,$WE)
WinActivate($T1,$WE)
Send('{Tab}')
WinActivate($T1,$WE)
Send('{Down}')
WinActivate($T1,$WE)
Send('{Space}')
WinActivate($T1,$WE)
Send('{Down}')
WinActivate($T1,$WE)
Send('{Space}')
WinActivate($T1,$WE)
Send('{Down}')
WinActivate($T1,$WE)
Send('{Space}')
WinActivate($T1,$WE)
ControlClick($T1,$WE,"Button3")

        $Title = '瑞星全功能安全软件'
        $WE = ' 结束 '

        WinWait($Title,$WE)
        ControlCommand($Title,$WE,'Button7','UnCheck','')
        ControlClick($Title,$WE,'Button3')
        
;=================== 安装代码结束 ====================

#Cs
;---------------- 离线升级瑞星代码开始 ----------------
If MsgBox(36 + 262144, 'OK! 瑞星 2009 已全部安装完毕, 立即升级吗?', '瑞星 2009 全功能'& _
        '正式版已安装成功! 要立即升级到较新的版本吗? ') = 6 Then
        Run('UpDate.eXe') ;将下载的(或从连机备份出来的)升级包改名为:UpDate.eXe

;****************** 再次免重启 ********************
        $IniDir = @WindowsDir & '\Inf\'
While 1
        $SearCh = FileFindFirstFile($IniDir & 'Oem*.Inf')
        $InfFile = FileFindNextFile($SearCh)
        ShellExecute('Rundll32', 'SetupAPI,InstallHinfSection DefaultInstall 132 ' & $IniDir & $InfFile)
        ExitLoop
WEnd
;***************************************************

        WinWait($Title,$WE)
        WinActivate($Title,$WE)
        ControlClick($Title,$WE,'Button3')
Else
;        Run($RiSing) ;貌似动词瑞星有些多余!因为至安装完就已经自己运行了...
        Exit
EndIf

$OK = MsgBox(64 + 262144, 'OK! 瑞星 2009 已全部安装并且升级完毕!', '瑞星 2009 全功能'& _
        '正式版安装成功并且已升级到 21.29.42 新版! ',5)
        If $OK = 6 Or $OK = -1 Then        Run($RiSing)
;---------------- 离线升级瑞星代码结束 ----------------
#Ce


[ 本帖最后由 ahkang 于 2009-3-23 10:46 编辑 ]
发表于 2009-3-23 10:31:38 | 显示全部楼层
原帖由 lohibn 于 2009-3-4 13:00 发表
瑞星在安装完毕以后,比如说安装显卡驱动,在显卡驱动安装结束后,会修改系统的一些东西。这样瑞星就可以在不用重新启动计算机的情况下可以使用。大家知道是显卡修改了系统了什么东西??是不是注册表??在AU3中如何 ...


其实就是显卡驱动下边的 *.Inf (安装信息文件), 您可以手动右击位于 Windows\Inf 下边的某个 Inf 文件→安装(I) , 瑞星马上就继续运行了, 貌似已经重启了系统一般.

免重启核心代码(这段代码和 三恨居士 的刷新图标代码类似, 只不过免掉了写 Inf 再删掉 Inf 的过程而已) :

;---------------- 免重启代码开始 --------------------
$InfDir = @WindowsDir & '\Inf\'
While 1
$SearCh = FileFindFirstFile($IniDir & 'Oem*.Inf')
        $InfFile = FileFindNextFile($SearCh)
;        MsgBox(0,$InfFile,$InfFile)
        ShellExecute('Rundll32', 'SetupAPI,InstallHinfSection DefaultInstall 132 ' & $InfDir & $InfFile)
        ExitLoop
WEnd
        FileClose($SearCh)
;----------------  免重启代码结束 --------------------


[ 本帖最后由 ahkang 于 2009-3-23 10:46 编辑 ]
 楼主| 发表于 2009-5-8 09:32:55 | 显示全部楼层
谢谢大家了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-25 09:45 , Processed in 0.079971 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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