gpt4 book ai didi

c# - 以管理员身份运行多个应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 14:24:19 26 4
gpt4 key购买 nike

我需要向我的 C# WPF 应用程序添加一个函数来修复某些注册表项。这将通过调用 regsvr32.exe/s mylib.dll 来完成。现在,从我看到的使用带有新 Process 对象的 runas 动词来看,这应该很容易做到。 (我的 dll 确实需要管理员权限,因为它写入了一些注册表项。)

但问题是有多个DLL,因此多次调用regsvr32.exe,不可能将所有注册都放在一个.dll中。但是,如果我只是多次 runas,用户会在我启动它时收到尽可能多的 UAC 对话框……我不希望这样。

我只想要一个对话框,我真的很想避免有一个神秘的额外 fixer.exe 文件来代替启动。现在,我只了解非常基本的 Windows 安全性知识,但难道不应该以某种方式获得“管理员” token (这让我获得 UAC 对话框)并使用它来启动不同的进程吗?

最佳答案

您可以只使用命令行参数和 shell 到您自己的 .exe 以管理员身份运行该进程。当你的应用程序加载时,检查那些命令行参数......如果它们在那里,注册你所有的 dll,然后退出。

或者,您可以编写一个批处理文件来注册所有 dll 和 shell,并具有管理员权限。

关于c# - 以管理员身份运行多个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4479349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com