duoduohuaima 发表于 2014-12-18 19:51:22

为何删除不了run下面所有的项值----“已解决"

本帖最后由 duoduohuaima 于 2015-1-6 20:32 编辑

Func _main()
       RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","*.*")
       EndFunc

netegg 发表于 2014-12-18 20:34:48

有这个值吗

user3000 发表于 2014-12-18 20:34:59

回复 1# duoduohuaima Func _main()
        Local $sREG
        If StringInStr(@OSArch, '64' Then
                $sREG = 'HKLM64'
        Else
                $sREG = 'HKLM'
        EndIf
        $sREG &= '\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'
        RegDelete($sREG)
        RegWrite($sREG)
EndFunc

netegg 发表于 2014-12-18 20:40:56

本帖最后由 netegg 于 2014-12-18 20:42 编辑

回复 3# user3000
lz好像不是要删除run子键,要删除里面的值,估计要用枚举
另外如果真是要删run的话,好像需要提权

user3000 发表于 2014-12-18 20:44:48

回复 4# netegg
老大, 楼主弄个"*.*",以为可以用过滤器呢.
我那个是直接删了键,再重建一个,也达到楼主的全删(所有值)要求了.

netegg 发表于 2014-12-18 20:52:30

回复 5# user3000
我说的不是这意思,普通用户好像删不了run键,不知道,没试过

duoduohuaima 发表于 2014-12-19 19:43:39

感谢3000的代码思路不错谢谢

duoduohuaima 发表于 2014-12-19 19:43:47

感谢3000的代码思路不错谢谢

f4李文杨 发表于 2014-12-20 00:21:15

其实例里跟 重复调 FUnc 一样!

Huiseyu 发表于 2014-12-20 13:14:26

本帖最后由 Huiseyu 于 2014-12-20 13:16 编辑

回复 1# duoduohuaima


   
   删不掉项值可能有几个问题,
1 >当前用户对注册表Run项没有修改权限,需提权 。<管理通常情况对run项都有修改权>

2 >注册项有些保护,如"360卫士"的启动项类似。。

3 >有后台运行,重复写入 相关值

差不多就这样,试试手动删一下,先不急刷新,看有没有删掉,或者弹窗提示拒绝访问,最后在作刷新动作。
;。
else ,*.* 貌似是dos下的通配符,au3是否支持呢 ?
页: [1]
查看完整版本: 为何删除不了run下面所有的项值----“已解决"