【问题标题】:C# Can't Access System Files even with administrator privileges即使具有管理员权限,C# 也无法访问系统文件
【发布时间】:2014-09-08 07:17:33
【问题描述】:

我的应用程序需要更改一些系统文件。 (就像从 “C:\Windows\System32\winevt\Logs”目录。 (有点像 Ccleaner 做的)

但即使拥有管理员权限,我什至无法从应用程序中看到这些日志文件。

我的应用程序清单文件有这一行:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

我使用“以管理员身份运行”运行我的应用程序。

我的应用程序如何拥有“系统”权限,或者有什么方法可以做到这一点。

有很多应用程序在以管理员权限运行时可以更改系统文件。

谢谢..

注意:我需要更改的文件的所有者似乎是“本地服务”。

【问题讨论】:

  • 您的管理员用户是否可以完全控制您尝试修改的文件所在的文件夹?

标签: c# system privileges


【解决方案1】:

如果您无法看到这些文件,我想知道这是否是 x86 与 x64 的问题;根据您的程序是 32 位还是 64 位,系统文件夹重定向会发生很多神奇的事情。不管它是什么:尝试将它编译为“另一个”,看看它是否有效。例如,如果您的程序当前是 32 位的,则将其显式编译为 64 位。

【讨论】:

【解决方案2】:

.net 框架有一个帮助类,它将返回不同文件夹的真实路径。 http://msdn.microsoft.com/en-us/library/system.environment.getfolderpath(v=vs.110).aspx

如果您想删除系统文件夹中的某些内容,您需要检查您的系统是否运行 64 位,如果是,您的“日志”文件夹是否位于 Environment.SpecialFolder.System 或 Environment.SpecialFolder.SystemX86

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-07
    • 2015-03-07
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多