如何查看应用程序是否需要提升权限?
How can I view whether my application requires elevated privileges or not?
我正在用c++开发一个应用程序,它需要尽可能便携,并且能够在没有提升特权的情况下运行,以便普通用户可以运行它。但我不确定如何检查它,因为在我的系统中,它运行时没有像UAC这样的弹出窗口或要求特权。是否有一种方法可以检查应用程序所需的特权?
应用程序有两种方法可以使窗口显示UAC提示符以获得更高的权限:
启发式
Windows包含一个基于启发式的检测机制,它试图检测您的应用程序是否应该被归类为"安装程序",从而需要更高的权限。这是自动完成的,如果它有假警报,可能会导致问题,这会导致您的程序需要更高的权限。
明确如果你不想依赖于自动检测系统来正确地对你的应用进行分类,你可以通过修改你的应用清单来显式地声明你的应用需要什么提升级别。
引用MSDN文章:
asInvoker没有请求额外的权限。此级别不需要额外的信任提示。
如果你想保证你的应用程序不会被错误地分类,你应该在你的情况下使用
如果你没有在应用程序清单中明确标记它,它应该不需要提升权限,但是你需要确保所有功能都能正常工作
相关文章:
- 内置函数可查看CPP中的成员变量
- 函数何时会在c++中包含stack_Unwind_Resume调用
- Python中的for循环与C++有何不同
- Termux权限被拒绝
- AWS Lambda C++运行时权限被拒绝
- 在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出
- C++类型特征,以查看是否可以<uint32_t>对类型"K"的任何变量调用"static_cast(k)"
- 为什么 KMS drmModeSetCrtc() 在 X11 会话中运行时会失败并被拒绝权限?
- COM :是否可以查看是否存在对我的某个 COM 对象的进程外引用?我可以释放它吗?
- 如何存储用户输入的所有数据,然后在他们想要查看所有数据时显示它们
- 在C++中释放内存期间,迭代器与指针有何不同
- 编写一个函数来删除单链表中的节点(尾部除外),仅授予对该节点的访问权限
- Netbeans 10:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- 在没有管理员权限的情况下连接到同一网络中的命名管道
- 为什么我在空指针错误(链表)中获取成员访问权限
- 如何在程序执行时查看Valgrind Massif输出(或其他堆分析器)?
- Q没有管理权限的 exe 无法启动维护工具
- 在C++中声明可见性/访问权限的方法有何不同
- 在C++中创建一个文件,该文件具有只有用户才能查看和编辑该文件的权限
- 如何查看应用程序是否需要提升权限?