回复 8# darker50
善用搜索 ,在搜索里输入hosts 得到相关主题有十贴,将KLU3K兄弟的代码给你拿来举个例子
#cs
在修改HOSTS文件时候常遇到修改保存后无效的情况,这里要提醒大家注意的一点:很多人是写在最后行,写完最后一行后在没有回车的情况下,这一行是不生效的。一定要记得回车。
建议大家遵循这样的习惯:“ip地址+空格+域名+回车” 添加记录。
到VISTA 或者 windows 7 操作系统无法打开和编辑的情况,提示:“不能创建文件” 或者 “文件操作失败”等提示,是因为安全机制UAC造成的,你可以使用以下方法解决:
1.在“开始”菜单 ->“搜索”中输入notepad ,然后使用Ctrl+Shift+Enter快捷键即可调用具有系统管理员权限的“记事本”编辑器。
2.在“开始”菜单中单击“所有程序”,单击“附件”,右键单击“记事本”,然后单击“以管理员身份运行”。
3.打开HOSTS 文件所在位置进行编辑保存
C:\Windows\System32\drivers\etc
#ce
#NoTrayIcon ;隐藏系统托盘图标
#RequireAdmin ;在Vista下获得管理员权限运行,这个不知道对不对.呵呵.
FileSetAttrib(@SystemDir&"\drivers\etc\hosts","-RSAH") ;去掉Hosts文件的只读属性,有些人的文件可能是只读的.
$File = @SystemDir&"\drivers\etc\hosts"
If FileExists(@SystemDir&"\drivers\etc\hosts") = 0 Then
MsgBox(0, "错误:", "Hosts文件可能不存在。")
EndIf
;如果没有HOSTS文件则提示出错.
$String = FileRead($File)
;读取文件HOSTS文件的全部内容.
$LocalHst1 = InputBox ("查找","要找的字符"&@CRLF&@CRLF&"写入hosts文件时:"&@CRLF&" ip地址+空格+域名+回车","127.0.0.1 localhost","")
;定义要查找的几个字符串
$LocalHst1_Comp = StringInStr($String,$LocalHst1)
;设定查找内容,在读取的HOSTS文,查找相应定义过的查找内容
If $LocalHst1_Comp = 0 Then
FileCopy($File, @SystemDir&"\drivers\etc\hosts - 副本")
FileWriteLine($File, @CRLF&"127.0.0.1 localhost"& @CRLF)
Else
MsgBox(0,"已存在LocalHst1",$LocalHst1)
FileDelete($File)
FileCreate($File,"")
EndIf
;查找$LocalHst1的地址是否存在,不存在则写入
FileClose($File) ;关闭文件
Func FileCreate($sFilePath, $sString)
Local $bReturn = True ; 创建存储布尔值的变量.
If FileExists($sFilePath) = 0 Then $bReturn = FileWrite($sFilePath, $sString) = 1 ; 如果 FileWrite() 返回 1, 这将为 True; 否则为 False.
Return $bReturn ; 返回布尔值 True 或 False 取决于 FileWrite() 的返回值.
EndFunc ;==>FileCreate
|