2012-09-11 50 views
-1

我想你很清楚這個文件,它是一個將一些IP綁定到主機名的文件。C#文本流訪問被拒絕

C:\ WINDOWS \ SYSTEM32 \ DRIVERS \等\主機

記事本可以對這個文件的變化,但C#Text-stream不能在上面做任何事情,並說access denied

任何想法爲什麼會發生這種情況?

P.S: 我的用戶有足夠的權利編輯該文件,因爲我可以用記事本編輯它,但是我的程序不能。

編輯: 還有一件事,它不適用於在ActiveDirectory中創建的用戶。不是來自這臺電腦的用戶。他們是管理員,但他們不是所有者。

難道是所有權問題?

+0

似乎是權限問題。使用SysInternals中的Process Monitor檢查發生了什麼。 –

+0

這是什麼操作系統?在Windows 7上,對主機文件的訪問需要管理命令提示符。您的程序是否與運行記事本的用戶一樣運行? – Joe

+0

@Joe Windows 7 是的,同一個用戶。 –

回答

1

UAC ???您需要使用提升的privs來運行您的應用程序...還嘗試保存您在記事本中編輯過的文件?這真的有用嗎?

+0

是的,它可以節省 –

+1

@ALi如果你沒有運行帶有提升特權的記事本,那麼你並不是真的覆蓋該文件,它可能會寫入'%localappdata%\ Virtual Store \ Windows \ System32 \ Drivers \ etc \ hosts'而不是真實文件。 –

+0

@HenkHolterman他可能會使用某種記事本替換(如記事本++,但我認爲這也是可視化),並將其稱爲記事本。我只想覆蓋所有的基地 –

0

嘗試將清單添加到您的程序並請求必要的權利。