DOBON.NET DOBON.NETプログラミング掲示板過去ログ

hostsファイルの変更

環境/言語:[Windows2000/XP VB.NET 2003]
分類:[.NET]

こんにちは。
題名の通りなのですが、hostsファイルを変更するプログラムを
VisualBasic .NET 2003で作成しました。

Windows2000SP4上では動くのですが、WindowsXP SP2上では
-----------------------------------------------------------------------
アプリケーションのコンポーネントでハンドルされていない例外が
発生しました。[続行]をクリックすると、アプリケーションはこのエラー
を無視し、続行しようとします。[終了]をクリックすると、アプリケーションは
ただちに終了します。

パス "C:\Windows\system32\drivers\etc\hosts"へのアクセスが拒否
されました。
-----------------------------------------------------------------------
[ソース]
Dim winDir As String = Environment.GetEnvironmentVariable("windir")
Dim Hosts_File As String = winDir + "\system32\drivers\etc\hosts"

Dim Writer As New IO.StreamWriter(Hosts_File, True)
Dim IP_Address As String
IP_Address = Trim(Str(ComboBox1.SelectedIndex + 1))
Writer.WriteLine("192.168." + IP_Address + ".11" + vbTab + "server001")
If CheckBox1.Checked = True Then
Writer.WriteLine("192.168." + IP_Address + ".12" + vbTab + "server002")
End If
Writer.Close()
MsgBox("hostsファイルを更新しました。", MsgBoxStyle.OKOnly, "完了")
---------------------------------------------------------------------------

何が間違っているのでしょうか??
よろしくお願いいたします。
> パス "C:\Windows\system32\drivers\etc\hosts"へのアクセスが拒否
> されました。

エラーメッセージ通りではないですか?
ファイルへのアクセス権限が無いだけだと思います。
■No17440に返信(eterniaさんの記事)
>>パス "C:\Windows\system32\drivers\etc\hosts"へのアクセスが拒否
>>されました。
>
> エラーメッセージ通りではないですか?
> ファイルへのアクセス権限が無いだけだと思います。

Editorで普通に開けたのでなんでだろう?と思っていました。
今、プロパティをみてみましたが、読み取り専用にチェックがついていました。

.NETで読み取り専用を外すことは可能でしょうか??
少しこちらでも調べてみます。
  • 題名: Re[3]: hostsファイルの変更
  • 著者: ライズ
  • 日時: 2006/09/05 15:28:10
  • ID: 17442
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No17441に返信(ライズさんの記事)
> ■No17440に返信(eterniaさんの記事)
> >>パス "C:\Windows\system32\drivers\etc\hosts"へのアクセスが拒否
> >>されました。
>>
>>エラーメッセージ通りではないですか?
>>ファイルへのアクセス権限が無いだけだと思います。
>
> Editorで普通に開けたのでなんでだろう?と思っていました。
> 今、プロパティをみてみましたが、読み取り専用にチェックがついていました。
>
> .NETで読み取り専用を外すことは可能でしょうか??
> 少しこちらでも調べてみます。


うまくいきました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板