使用管理员权限重写和更改文件

时间:2014-09-02 21:41:26

标签: c# file admin manifest

我尝试写入一个不以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”应该通过询问用户给我管理员权限。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

不确定,但我认为在这种情况下,requireAdministrator对于requestedExecutionLevel更合适。

[http://philippsen.wordpress.com/tag/requestedexecutionlevel-manifest/]