我尝试写入一个不以txt结尾的文件,而我有管理员权限。 因此我在清单中替换了这句话:
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
要
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
但是当我运行此代码时它无效:
using (StreamWriter sw = new StreamWriter(@"C:\Windows\System32\drivers\etc\hosts"))
{
sw.WriteLine("0.0.0.0 WWW.test.com");
}
我收到一条错误消息,说我没有更改此文件的权限。 1
当我回到清单文件时,我发现它已被更改回来,我收到一条消息:“该文件已在sourse编辑器之外修改”2
我不知道为什么会被更改,我知道“requireAdministrator”应该通过询问用户给我管理员权限。
我该怎么办?
答案 0 :(得分:0)
不确定,但我认为在这种情况下,requireAdministrator对于requestedExecutionLevel更合适。
[http://philippsen.wordpress.com/tag/requestedexecutionlevel-manifest/]