【发布时间】:2012-02-13 12:05:02
【问题描述】:
我正在开发一个分区磁盘程序,我需要管理员权限才能读取\\\\.\\PhysicalDrive0。
我想知道程序是否有可能在运行时获得管理员权限?有没有win api呢?
我想这样做是因为我希望程序仅在读取/写入磁盘时以管理员权限执行。出于安全原因,我不希望程序一直以管理员权限执行,因为有人可能会在某些模块中发现错误(例如堆栈或堆溢出)并以 adm 身份执行任意命令。
【问题讨论】:
-
没有。您必须将该代码移动到另一个具有要求 UAC 提升权限的清单的 .exe 项目中。必要时启动该 .exe。
-
感谢您的所有回答!分离流程的技巧将完成这项工作。
-
@HansPassant:不一定是 另一个 .exe。查看任务管理器,如果您选择“查看所有用户的进程”,它会以管理员权限重新启动。
-
@MSalters - 是的。但那是 autoElevate 在工作中,不适用于普通人。 technet.microsoft.com/en-us/magazine/2009.07.uac.aspx#id0560031
-
@HansPassant:autoElevate 保留给操作系统,但这只是为了抑制提示。