epo*_*ter 5 .net c# dll uac windows-vista
我有一个我正在研究的WinForms应用程序.在Vista/Win7中,需要以管理员身份运行一小段功能.我理解如何在清单中为应用程序设置requestedExecutionLevel.诀窍是,我不想要求用户以管理员身份运行整个应用程序,只是其中的一部分.所以我想将大部分功能运行为InInvoker.
如果我将管理功能放在dll中,有没有办法将其标记为requireAdministrator?我尝试使用MT为dll添加清单,但这似乎不起作用.我需要做什么?
不,没有办法在 DLL 的基础上区分应用程序的执行级别。这是一个进程范围的设置。您必须在应用程序中调用另一个进程,该进程以提升的权限运行该 DLL 中的代码。
不过,您可以选择的一种选择是使用 rundll 或 rundll32 程序直接运行 DLL。这是一个独立的 Windows 程序,旨在加载和运行特定的 DLL。您可以提升 rundll 进程并获得您想要的隔离。
谷歌搜索 rundll 会给你很多关于如何使用它的建议:)。
| 归档时间: |
|
| 查看次数: |
2637 次 |
| 最近记录: |