用什么方式实现删除HOSTS文件,请那位大哥指点迷津
我用过以下两方式一、
DirRemove ( @WindowsDir & "\system32\drivers\etc\hosts")
二、
FileDelete ( @WindowsDir & "\system32\drivers\etc\hosts")
上述两种方式,都无法删除HOSTS文件。
这两种方法我也试了,还是不可以。不知道那位大哥还有没有更好的办法?
[ 本帖最后由 cj4025 于 2008-6-10 05:27 编辑 ] 是系统保护的问题吧,
试试这样是否可行?
ProcessClose("explorer.exe")
FileDelete ( @WindowsDir & "\system32\drivers\etc\hosts")
Run("explorer.exe")
[ 本帖最后由 dboys 于 2008-6-10 02:14 编辑 ] 请问楼上大哥,为什么要结束explorer.exe 进程才能删除HOSTS文件呢。
给点解释啊。 为防止系统保护提前结束掉explorer.exe
楼上可试用些方法
If FileDelete ( @WindowsDir & "\system32\drivers\etc\hosts")<>1 Then
RunWait(@ComSpec & " /c " & 'attrib -r -s -h c:\windows\system32\drivers\etc\hosts', "", @SW_HIDE)
FileDelete ( @WindowsDir & "\system32\drivers\etc\hosts")
EndIf FileDelete ( @WindowsDir & "\system32\drivers\etc\hosts")
用這個可以刪阿 我终于明白为什么我的机器删除不了,天呀,这问题困饶了四五天啊,到论坛才得到解决办法,论坛的力量正大啊。
感谢热情回复我问题的两位老师,谢谢你们了。非常感谢,
是我机器上的HOSTS文件写有 只读 和 存档 的两个属性。特别感谢楼上大哥的详细解释。 RunWait(@ComSpec & " /c " & 'attrib -r -s -h c:\windows\system32\drivers\etc\hosts', "", @SW_HIDE)
不知道大哥的这句能否改变下呢。如果HOSTS文件不在C盘。如何能实现改变属性呢? 只为学习网络存在于网络,不要做非法破坏...
$var=@WindowsDir & "\system32\drivers\etc\hosts"
If FileDelete ( $var)<>1 Then
RunWait(@ComSpec & " /c " & 'attrib -r -s -h '&$var&'', "", @SW_HIDE)
FileDelete ($var)
EndIf 感谢这位大哥了,问题彻底解决了,真的非常感谢你啊。 原帖由 jhwl 于 2008-6-10 04:14 发表 http://www.autoitx.com/images/common/back.gif
只为学习网络存在于网络,不要做非法破坏...
$var=@WindowsDir & "\system32\drivers\etc\hosts"
If FileDelete ( $var)1 Then
RunWait(@ComSpec & " /c " & 'attrib -r -s -h '&$var&'', "", @SW_HIDE)
Fil ...
用FileSetAttrib也可以,呵呵
页:
[1]