我的程序当前有这条线
状态:= DllRegisterServer;
在 WIN7 且用户不是管理员的机器上失败。
是否可以通过提升权限以编程方式调用 DllRegisterServer?
或者有什么方法可以提示提升权限,然后使用该信息执行 DllRegisterServer。
我的程序当前有这条线
状态:= DllRegisterServer;
在 WIN7 且用户不是管理员的机器上失败。
是否可以通过提升权限以编程方式调用 DllRegisterServer?
或者有什么方法可以提示提升权限,然后使用该信息执行 DllRegisterServer。
提升只能在流程创建时执行。因此,您需要一个新进程来执行此代码。您的主要选择:
在这些选项中,数字 1 对您来说可能更简单。对于选项 1,您不需要单独的可执行文件。您可以传递命令行参数,这将导致对注册函数的调用。
没有办法以编程方式提升程序的权限,只有用户才能这样做。您可以指示操作系统您的程序需要提升的权限,例如,通过包含清单
如何将清单 <requestedPrivileges> 信息添加到 delphi 项目中
您还可以决定允许您的程序在没有提升权限的情况下运行(通过不包括清单),然后禁用所有需要提升权限的操作,或者在非提升的进程(非常类似于任务管理器使用“显示所有用户的进程”按钮: