haijie1223 发表于 2012-5-15 17:52:18

本帖最后由 haijie1223 于 2012-5-15 17:58 编辑

回复 15# xms77


    国内最具影响力的论坛:赢政天下!

haijie1223 发表于 2012-5-15 19:45:50

回复 15# 风雪残士


   嬴政<> 赢政

秋无痕 发表于 2012-5-17 21:11:43

这个问题无解吗?顶起来。

872777825 发表于 2012-5-18 02:23:58

{:face (197):}回复 18# 秋无痕


    如果我没猜错应该是金山本山监控住的你可以试着把金山退出连相关服务都停掉
如果可以证明是杀软自我监控的保护作用跟360大妈一样

秋无痕   大师啊    敬仰敬仰

秋无痕 发表于 2012-5-18 23:26:59

本帖最后由 秋无痕 于 2012-5-18 23:56 编辑

回复秋无痕


    如果我没猜错应该是金山本山监控住的你可以试着把金山退出连相 ...
872777825 发表于 2012-5-18 02:23 http://www.autoitx.com/images/common/back.gif
谢谢提醒!
果然是这样,其实在正常模式下,你要退出金山可以,但要停它的服务就不简单了。
不过可进入安全模式。进入后,金山默认不启动,服务也是停止的。
这时直接就可修改此注册表且是有效的。

哪位高手研究一下,能否通过其他方式,如用界面点击的方式去修改?不胜感激。

我主要就是要要实现下图的设置效果,主要想取消和选中这几个标红线的选项,哪知有其他自动执行方法的也请不吝指教:

872777825 发表于 2012-5-19 17:58:36

回复 20# 秋无痕


    如果我没估计错楼主是想重新封包金山哈哈

办法是有的 不过有点笨拙   写个以system身份运行的服务程序可以在金山启动前就修改它的注册表   然后做个启动一次后自我删除服务项再自我删除
不过这样的东西估计过了不金山大湿{:face (382):}

秋无痕 发表于 2012-5-19 22:11:10

回复秋无痕


    如果我没估计错楼主是想重新封包金山哈哈

办法是有的 不过有点笨拙   写个以 ...
872777825 发表于 2012-5-19 17:58 http://www.autoitx.com/images/common/back.gif
这种方式太暴力了,一定会让毒霸查杀的。
我试过在安装前先写入这个注册表,但毒霸安装后,好像只保存了取消弹出产品功能推荐提醒这个选项,而升级完成通知的选项又成了选中。

现在在考虑,能否用ControlClick方式来实现?

tjlzh 发表于 2012-5-20 12:44:58

模拟鼠标点击可以实现。但是可靠性还是要验证。

jxfa0086768 发表于 2012-5-21 14:42:06

{:face (249):}回复 15# 风雪残士

流浪628 发表于 2012-5-21 18:35:44

把其它用户都禁了,

流浪628 发表于 2012-5-21 18:40:22

关注一下,{:face (356):}

link369 发表于 2012-5-22 18:03:27

你要干嘛呀

sunlewuyou 发表于 2012-5-23 00:11:57

2012年5月23日签到!

秋无痕 发表于 2012-5-24 12:50:48

模拟鼠标点击可以实现。但是可靠性还是要验证。
tjlzh 发表于 2012-5-20 12:44 http://www.autoitx.com/images/common/back.gif


    能写个实例吗?针对毒霸2012的。

地平线 发表于 2012-5-24 23:39:10

本帖最后由 地平线 于 2012-5-24 23:41 编辑

回复 29# 秋无痕
这个主要用模拟鼠标点击,技术含量不大。其中的那个点击托盘图标的UDF是直接用别人的。
#Include <GuiToolBar.au3>

Global $hSysTray_Hide_Handle
Global $iSystrayHide_ButtonNumber
Global $hSysTray_Handle
BlockInput(1) ;屏蔽用户输入
_ClickSysTrayIcon("金山毒霸","right") ;右键点击托盘图标
Sleep(200)
;$size =WinGetPos("")
;MsgBox(0,'',$size&@CRLF&$size) ;获得右键菜单的尺寸为160x350
AutoItSetOption("MouseCoordMode", 0)
MouseClick("left",50,270) ;点击右键菜单的设置选项
WinWaitActive("设置")
AutoItSetOption("PixelCoordMode", 0)
If PixelGetColor(180,230) = 0x21A121 Then
        MouseClick("left",180,230)
EndIf
Sleep(200)
MouseClick("left",60,370)
Sleep(200)
If PixelGetColor(190,260) = 0x21A121 Then
        MouseClick("left",190,260)
EndIf
If PixelGetColor(190,360) <> 0x21A121 Then
        MouseClick("left",190,360)
EndIf
If PixelGetColor(390,360) <> 0x21A121 Then
        MouseClick("left",390,360)
EndIf
If PixelGetColor(189,386) <> 0x21A121 Then
        MouseClick("left",189,386)
EndIf
Sleep(200)
MouseClick("left",435,450) ;最后确定
BlockInput(0) ;启用用户输入

Func _ClickSysTrayIcon($sToolTipTitle,$Button)

      $iSystray_ButtonNumber = Get_Systray_Index($sToolTipTitle)
      If ControlCommand("","","Button1","IsVisible","") And $iSystray_ButtonNumber = -1Then
                ClickHideIcon($sToolTipTitle,$Button)
      Else
                ClickDisplayIcon($sToolTipTitle,$Button)
      EndIf
EndFunc

Func ClickDisplayIcon($sToolTipTitle,$Button)

      $iSystray_ButtonNumber = Get_Systray_Index($sToolTipTitle)
      If $iSystray_ButtonNumber = -1 Then
                Return 0
      Else
                Sleep(500)
                _GUICtrlToolbar_ClickButton($hSysTray_Handle, $iSystray_ButtonNumber, $Button, True, 1, 20)
      EndIf
EndFunc

Func ClickHideIcon($sToolTipTitle,$Button)
      $hSysTray_Hide_Handle1 = ControlGetHandle('', '', '')
      _GUICtrlToolbar_ClickButton($hSysTray_Hide_Handle1, "Button1", "Left", True, 1, 20)
      Sleep(500)
      $iSystray_ButtonNumber = Get_Hide_Systray_Index($sToolTipTitle)

      If $iSystray_ButtonNumber = -1 Then
                Return 0
      Else
                Sleep(500)
                _GUICtrlToolbar_ClickButton($hSysTray_Hide_Handle, $iSystray_ButtonNumber, $Button, True, 1, 20)
      EndIf

      $iSystray_ButtonNumber = Get_Hide_Systray_Index($sToolTipTitle)
EndFunc
       
Func Get_Systray_Index($sToolTipTitle)
    $hSysTray_Handle = ControlGetHandle('', '', '')
    If @error Then
      Return 0
    EndIf
    Local $iSystray_ButCount = _GUICtrlToolbar_ButtonCount($hSysTray_Handle)
    If $iSystray_ButCount = 0 Then
       Return 0
    EndIf
    For $iSystray_ButtonNumber = 0 To $iSystray_ButCount - 1
      If StringInStr(_GUICtrlToolbar_GetButtonText($hSysTray_Handle, $iSystray_ButtonNumber), $sToolTipTitle) = 1 Then ExitLoop
    Next

    If $iSystray_ButtonNumber = $iSystray_ButCount Then
      Return-1
    Else
      Return $iSystray_ButtonNumber
    EndIf
EndFunc

Func Get_Hide_Systray_Index($sToolTipTitle)
    $hSysTray_Hide_Handle = ControlGetHandle('', '', '')
    If @error Then
      Return 0
    EndIf
    Local $iSystray_ButCount = _GUICtrlToolbar_ButtonCount($hSysTray_Hide_Handle)

    If $iSystray_ButCount = 0 Then
      Return 0
    EndIf
    For $iSystray_ButtonNumber = 0 To $iSystray_ButCount - 1
      If StringInStr(_GUICtrlToolbar_GetButtonText($hSysTray_Hide_Handle, $iSystray_ButtonNumber),$sToolTipTitle)Then ExitLoop
      Next

    If $iSystray_ButtonNumber = $iSystray_ButCount Then
      Return -1
    Else
      Return $iSystray_ButtonNumber
    EndIf
EndFunc
页: 1 [2] 3
查看完整版本: 请教一个WIN7注册表权限写入问题。