为何删除不了run下面所有的项值----“已解决"
本帖最后由 duoduohuaima 于 2015-1-6 20:32 编辑Func _main()
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","*.*")
EndFunc 有这个值吗 回复 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:42 编辑
回复 3# user3000
lz好像不是要删除run子键,要删除里面的值,估计要用枚举
另外如果真是要删run的话,好像需要提权 回复 4# netegg
老大, 楼主弄个"*.*",以为可以用过滤器呢.
我那个是直接删了键,再重建一个,也达到楼主的全删(所有值)要求了. 回复 5# user3000
我说的不是这意思,普通用户好像删不了run键,不知道,没试过 感谢3000的代码思路不错谢谢 感谢3000的代码思路不错谢谢 其实例里跟 重复调 FUnc 一样! 本帖最后由 Huiseyu 于 2014-12-20 13:16 编辑
回复 1# duoduohuaima
删不掉项值可能有几个问题,
1 >当前用户对注册表Run项没有修改权限,需提权 。<管理通常情况对run项都有修改权>
2 >注册项有些保护,如"360卫士"的启动项类似。。
3 >有后台运行,重复写入 相关值
差不多就这样,试试手动删一下,先不急刷新,看有没有删掉,或者弹窗提示拒绝访问,最后在作刷新动作。
;。
else ,*.* 貌似是dos下的通配符,au3是否支持呢 ?
页:
[1]