![]() |
1
158
通过将StartInfo对象的Verb属性设置为“runas”,可以指示新进程应以提升的权限启动,如下所示:
这将导致Windows的运行方式与使用“以管理员身份运行”菜单命令从资源管理器启动进程的方式相同。 这意味着UAC提示将出现并需要用户确认:如果这是不需要的(例如,因为它将发生在一个冗长的过程中),您将需要在 Create and Embed an Application Manifest (UAC) 要求“highestavailable”执行级别:这将导致应用程序启动后立即出现UAC提示,并导致所有子进程以提升的权限运行,而无需其他提示。 编辑:我看到你刚刚编辑了你的问题,说“runas”不适合你。这真的很奇怪,因为它应该(在一些生产应用程序中对我也是如此)。但是,通过嵌入清单,要求父进程以提升的权限运行肯定是可行的。 |
![]() |
2
39
此代码将上述所有内容放在一起,并使用管理员权限重新启动当前的WPF应用程序:
更新:首选应用程序清单方式:
右键单击Visual Studio中的“项目”、“添加”、“新建应用程序清单文件”,更改该文件,使您具有如上所示的RequireAdministrator设置。 原始方法的一个问题:如果将重新启动代码放入app.xaml.cs onstartup中,即使调用了shutdown,它仍可能短暂地启动主窗口。如果app.xaml.cs in it没有运行,我的主窗口就会崩溃,在某些比赛条件下,它会这样做。 |
![]() |
3
20
根据文章
Chris Corio: Teach Your Apps To Play Nicely With Windows Vista User Account Control, MSDN Magazine, Jan. 2007
,只有
参见: same article as .chm . |
![]() |
4
6
这将在无UAC的情况下完成——无需启动新流程。如果正在运行的用户是管理组的memeber。 |
![]() |
5
1
您应该使用模拟来提升状态。
完成后不要忘记撤消模拟的上下文。 |
![]() |
manoj sawant · 窗口服务无法访问远程共享文件夹 7 年前 |
![]() |
Praveen M · 在WIX中强制终止windows服务 7 年前 |
![]() |
Brendan · SolrCore正在加载Windows服务 7 年前 |
![]() |
shahar eldad · 我应该使用哪个句柄初始化扫描仪应用程序 7 年前 |
![]() |
Dev · CoCreateInstance方法有问题 7 年前 |