'提前调用 Imports System.IO Imports System.ServiceProcess '窗体内 放置 一个RichTextBox 命名为 rtbHost Private Function Write_Host(ByVal strIP as string,ByVal strHost as string) As String Dim strReturn As String = "OK" Try '读数据 Dim operachina As String Dim strFileName As String strFileName = Environ$("SystemRoot") & "\System32\drivers\etc\hosts" Dim SR As New StreamReader(strFileName) rtbHost.Text = SR.ReadToEnd SR.Close() If rtbHost.Find(strHost) < 0 Then operachina = strIP + " " + strHost + vbCrLf '写数据 rtbHost.AppendText(vbCrLf + operachina) Dim SW As New StreamWriter(strFileName) SW.Write(rtbHost.Text) SW.Close() '重启DNS服务 Dim service As New ServiceController service.ServiceName = "Dnscache" If service.Status = ServiceControllerStatus.Running Then service.Stop() service.WaitForStatus(ServiceProcess.ServiceControllerStatus.Stopped) service.Start() service.WaitForStatus(ServiceProcess.ServiceControllerStatus.Running) ElseIf service.Status = ServiceControllerStatus.Stopped Then service.Start() service.WaitForStatus(ServiceProcess.ServiceControllerStatus.Running) End If End If Catch ex As Exception strReturn = ex.Message Throw End Try Return strReturn End Function '使用方法 If Write_Host("192.168.1.100","test.wuxing.name") <> "OK" Then MsgBox("DNS解析错误,可能无法访问。") System.Diagnostics.Process.Start("IEXPLORE.EXE", "http://test.wuxing.name/")