我正在开发一款需要使用 AttachVirtualDisk() 安装 VHD 磁盘(真实 USB 记忆棒的精确副本,是硬件版本的基础)的取证谜题游戏。这需要提升权限,否则 AttachVirtualDisk 将返回 ERROR_PRIVILEGE_NOT_HELD(这并不奇怪)。我可以要求用户右键单击 exe 并选择“以管理员身份运行”,我可以要求他们通过右键单击并选择“属性”选项卡将其设置为永久以管理员身份运行,但我不想用这些操作打扰他们。
有没有办法在不要求用户使用用户界面的情况下实现相同的效果?一些 API 调用可以让我在安装或首次运行时设置程序,以便永久配置为以管理员身份运行?是的,用户仍会看到烦人的屏幕,我不想隐藏程序使用提升权限的事实,只是想让该过程对用户尽可能透明/简单。
(实际上,如果有一种方法可以使 AttachVirtualDisk() 工作而无需以管理员身份运行程序,那么也可以达到同样的效果,但我怀疑这是否可能,也没有意义。)