可执行文件是否可以要求管理员权限?(Windows 7的)

2021-12-18 00:00:00 winapi windows-7 c++

我正在开发一个分区磁盘程序,我需要管理员权限才能读取\\.\PhysicalDrive0.

I am developing a partition disk program, and for me to read the \\.\PhysicalDrive0 I need admin rights.

我想知道程序是否有可能在运行时获得管理员权限?有没有win api?

I am wondering if it is possible, in the run time, for the program to gain admin rights? Is there any win api for that?

我想这样做是因为我希望程序仅在读取/写入磁盘时以管理员权限执行.出于安全原因,我不希望该程序始终以管理员权限执行,因为有人可能会在某个模块中发现错误(例如堆栈或堆溢出)并以 adm 身份执行任意命令.

I want to do that because I want the program to execute with admin rights only when it is reading/writing the disk. For security reasons, I don't want the program to execute all the time with admin rights, because someone could find a bug (stack or heap overflow for example) in some module and execute arbitrary commands as adm.

推荐答案

在进程开始后,您将无法获得提升的权限.您的选择是:

You cannot acquire elevated privileges after the process has started. Your options are:

  1. 将需要提升权限的应用程序部分放入一个单独的进程中,并使用 requireAdministrator 进行说明.
  2. 将需要提升权限的应用程序部分作为进程外 COM 对象运行.

相关文章