<分区>
我用 C# 编写的一个进程在应用程序启动期间被另一个进程 fork 。此进程需要管理员权限,因为它正在访问驱动程序,但父应用程序( fork 进程)是在用户模式下启动的。
我想到了两种方法: 1. 更改 list ,但 UAC 对话框会刺激用户。 2. 和linux rpm安装一样,用 super 用户安装应用,并给予进程完全控制权
还有其他更好的方法吗? 请指导
谢谢
标签 c#
<分区>
我用 C# 编写的一个进程在应用程序启动期间被另一个进程 fork 。此进程需要管理员权限,因为它正在访问驱动程序,但父应用程序( fork 进程)是在用户模式下启动的。
我想到了两种方法: 1. 更改 list ,但 UAC 对话框会刺激用户。 2. 和linux rpm安装一样,用 super 用户安装应用,并给予进程完全控制权
还有其他更好的方法吗? 请指导
谢谢
最佳答案
请参阅Elevating process privilege programatically .
您要么需要抛出一个 UAC 提升提示(可能很烦人),要么以管理员身份运行您的根 fork 进程。通过在 ClickOnce 或程序 list 中声明它,您可以确保只需双击您的可执行文件就会自动提示提升。
如果最终用户的机器启用了 UAC,在某些时候会出现某种提示,因为没有合法的方法从非特权进程提升子进程。
关于c# - 以提升的权限启动进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22023746/