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