找回密码
 加入
搜索
查看: 2577|回复: 12

请教一个可以删除注册表启动项的代码

[复制链接]
发表于 2009-9-24 18:23:45 | 显示全部楼层 |阅读模式
由于学习系统封装,接触到AU3,但是刚学,一时想不到应该怎么弄,请教一个可以删除注册表启动项的代码?
     怎么在AU3里面删除   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下面的子项。但是要保留一个internat.exe(输入法)子项!
    麻烦写个列子我参考学习下!谢谢
发表于 2009-9-24 18:25:42 | 显示全部楼层
请看 RegDelete的帮助例子

RegDelete("HKEY_CURRENT_USER\Software\Test", "TestKey")
发表于 2009-9-24 20:07:15 | 显示全部楼层
for $i=1 to 10
$var=RegEnumKey[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
if StringLeft($var,12)="internat.exe" then
;;;;;;;;;;;
ElseIf
;;;;;;;;;;
 楼主| 发表于 2009-9-24 20:09:31 | 显示全部楼层
2# sxd
楼主这个应该是只能删除指定的子项吧!
如果我不知道有几个子项,但是要保留一个internat.exe(输入法)子项!
怎么写法呢?
发表于 2009-9-24 20:13:58 | 显示全部楼层
while...wend
发表于 2009-9-24 20:17:33 | 显示全部楼层
本帖最后由 netegg 于 2009-9-24 20:19 编辑

$i=1
while 1
  $key=regenumkey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", $i)
  if $key="" then exitloop  
if $key<>"intranat.exe" then
  regdelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", $key)
endif
$i+=1
wend
发表于 2009-9-24 20:27:15 | 显示全部楼层
删除全部未知项,然后添加intranat.exe
发表于 2009-9-24 20:45:20 | 显示全部楼层
2# sxd
楼主这个应该是只能删除指定的子项吧!
如果我不知道有几个子项,但是要保留一个internat.exe(输入法)子项!
怎么写法呢?
jisushizhe 发表于 2009-9-24 20:09

这种情况就是 先获取总数 再for 历遍
 楼主| 发表于 2009-9-24 21:21:51 | 显示全部楼层
6# netegg 使用楼主的代码运行出错!
发表于 2009-9-24 21:46:30 | 显示全部楼层
有什么提示吗
发表于 2009-9-24 21:58:11 | 显示全部楼层
9# jisushizhe
$i=1
while 1
  $key=RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", $i)
  if @error<>0 then exitloop  
  if $key<>"intranat.exe" then
  ConsoleWrite($key& @crlf)
endif
$i+=1
wend
 楼主| 发表于 2009-9-24 23:35:44 | 显示全部楼层
就是脚本运行不了!
发表于 2009-9-24 23:51:34 | 显示全部楼层
11#层给你的也不行?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 04:49 , Processed in 0.077761 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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