如何查看我的应用程序是否需要提升权限?

时间:2016-08-10 13:08:47

标签: c++ windows elevated-privileges

我正在用C ++开发一个应用程序,它需要尽可能的可移植,并且能够在没有提升权限的情况下运行,因此普通用户可以运行它。 但是我不知道如何检查它,因为在我的系统中它运行时没有像UAC那样的弹出窗口或者要求权限。有没有办法检查应用程序所需的权限?

2 个答案:

答案 0 :(得分:2)

应用程序可以通过两种方式使Windows显示UAC提示以获取更高的权限:

<强>启发式

Windows包含heuristic-based detection机制,该机制会尝试检测您的应用程序是否应归类为&#34;安装程序&#34;因此应该要求提升特权。这是自动完成的,如果它有虚假警报,可能会导致问题,这会导致程序需要提升权限。

<强>显

如果您不想依靠自动检测系统对应用程序进行正确分类,则可以通过修改应用程序manifest来明确说明应用程序所需的高程级别。

引用this MSDN article

  

asInvoker 请求无其他权限。此级别不需要其他信任提示。

如果您想要保证您的申请不会被错误归类,那么您应该使用这个。

答案 1 :(得分:0)

如果您不在应用清单中明确标记它,则不应要求提升权限,但是您需要确保所有功能都能正常工作。