2013-02-26 63 views
2

当试图从C#Windows服务中运行7-Zip命令行.exe时,我的应用程序挂起时没有发生错误。在下面的部分设置断点表明,一旦我点击Process.Start(p)就会发生挂起。我将相同的代码放在Windows窗体应用程序中,并获得了“打开文件 - 安全警告”消息框,指出发布者无法验证。在警告上单击“运行”可使其继续运行而不会出现任何问题。在取消选中“在打开此文件之前始终询问”框以取消此警告之外有什么办法吗?在运行7-Zip时抑制Windows安全警告

我的代码如下:提前

ProcessStartInfo p = new ProcessStartInfo(); 
p.FileName = "7za.exe"; 

p.Arguments = "a -tzip \"" + targetName + "\" \"" + sourceName + "\" -mx=9"; 
p.WindowStyle = ProcessWindowStyle.Hidden; 

Process x = new Process(); 
x = Process.Start(p); 
x.WaitForExit(); 

感谢您的帮助。

+1

不可以。如果您可以轻松绕过它,它会使“安全警告”无用,不是吗?在用户不知道安全性的情况下,可以轻松绕过安全性。 – 2013-02-26 22:27:23

+0

7-Zip有一个.NET API,您可以使用它:http://www.7-zip.org/sdk.html – 2013-02-26 22:44:09

回答

3

在Windows资源管理器中右键点击7z exe文件,文件属性中应该有一个“解锁”按钮。点击它,然后单击应用程序,这应该停止它在您的计算机上,但不幸的是,它的窗口的一部分,现在从任何从互联网上下载的exe文件,并没有签名。