我正在开发一个 WinForms 应用程序。 Vista/Win7 中有一小部分功能需要以管理员身份运行。我了解如何在清单中设置应用程序的requestedExecutionLevel。诀窍是,我不想要求用户以管理员身份运行整个应用程序,而只是其中的一部分。所以我想让大部分功能作为Invoker 运行。
如果我将管理功能放在 dll 中,有没有办法将其标记为 requireAdministrator?我尝试使用 MT 将清单添加到 dll,但这似乎不起作用。我需要做什么?
不,没有办法在 DLL 的基础上区分应用程序的执行级别。这是一个进程范围的设置。您必须在应用程序中调用另一个进程,该进程以提升的权限运行该 DLL 中的代码。
不过,您可以选择的一种选择是使用 rundll 或 rundll32 程序直接运行 DLL。这是一个独立的 Windows 程序,旨在加载和运行特定的 DLL。您可以提升 rundll 进程并获得所需的隔离。
谷歌搜索 rundll 会给你很多关于如何使用它的建议:)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)