运行应用程序绕过UAC

本文关键字:UAC 应用程序 运行 | 更新日期: 2023-09-27 18:14:17

我必须从我的WPF应用程序中运行exe文件,但它仍然询问我是否真的想打开它。

System.Diagnostics.Process.Start("fileToOpen.exe", "par1 par2");

有没有办法打开文件没有UAC权限窗口显示?

运行应用程序绕过UAC

根据最终客户的不同,我根本不建议这样做;你是在破坏系统安全,如果他们开着UAC,那是有原因的。你正在制造安全风险(我相信你已经知道了)。

无论如何,有一些解决方法:

假设你想确保它永远不会出现,根据你对其他答案的评论,那么是的,你可以按照以下SO帖子这样做:以编程方式禁用UAC

设置"HKLM'SOFTWARE'Microsoft'Windows'CurrentVersion'Policies'System"中的EnableLUA DWORD值为0并重新启动。

问题是,这完全禁用了它,并且(取决于最终客户)可能是非常不希望的。

另一个解决方案是(来自同一来源):

您不能通过编程禁用UAC,但您可以强制程序从一开始就以提升的权限运行,因此它不会每次都提示。这将导致它在启动时提示一次,但不是每次需要访问时都提示。为此,您需要创建一个清单文件并设置

在阅读了更多这方面的内容后,似乎你最好测试它,而不是你最初的想法(禁用/忽略/预防)。同样,请参阅这篇文章选择性地禁用Windows上特定程序的UAC编程