我必须从我的 WPF 应用程序运行 exe 文件,但它仍然询问我是否真的要打开它。
System.Diagnostics.Process.Start("fileToOpen.exe", "par1 par2");
有什么方法可以在不显示 UAC 权限窗口的情况下打开文件?
根据最终客户,我根本不推荐这个;您正在违反系统安全性,如果他们打开了 UAC,那是有原因的。你正在制造安全风险(我相信你已经知道了)。
无论如何,一些解决方法:
假设您想确保它永远不会出现并根据您对其他答案的评论然后是的,您可以按照以下 SO 帖子执行此操作:以编程方式禁用 UAC
将 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 中的 EnableLUA DWORD 值设置为 0 并重新启动。
问题是,这完全禁用它并且(取决于最终客户)可能非常不受欢迎。
另一个解决方案是(来自同一来源):
您不能以编程方式禁用 UAC,但您可以强制程序从一开始就以提升的权限运行,因此它不会每次都提示。这将导致它在启动时提示一次,但不是每次需要访问时都提示。为此,您需要创建一个清单文件并设置
在阅读了更多关于此的内容后,您似乎最好对其进行测试,而不是您最初的想法(禁用/忽略/预防)。同样,请参阅这篇文章Selectively disable UAC for specific programs on Windows Programatically