问题如下:
我正在使用7-zip压缩日志文件。 作为压力测试,我已经将最大日志文件设置为4k~并且我已经完成了使用消息轰炸记录器的任务。 由于压缩函数每秒运行几次,因此会发生类似刷新的奇怪行为。 如果我点击/右键单击某个窗口中的某个菜单,它会让我失去兴趣并在视觉工作室内部尝试搜索某些内容,它会在输入中选择我的搜索文本并最终覆盖自己以及更多...
实际上这不会正常发生,但如果可能的话,仍然希望保护应用程序。
我的压缩函数尝试目前是这样的:
private void CompressFile(string sourceName, string extension)
{
string targetName = sourceName.Replace(extension, ".zip");
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.FileName = @"C:\Program Files\7-Zip\7zG.exe";
processInfo.Arguments = "a -tgzip \"" + targetName + "\" \"" + sourceName + "\" -mx=9";
processInfo.CreateNoWindow = true;
processInfo.ErrorDialogParentHandle = IntPtr.Zero;
processInfo.WindowStyle = ProcessWindowStyle.Hidden;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardInput = true;
processInfo.RedirectStandardOutput = false;
Process presses = Process.Start(processInfo);
presses.WaitForExit();
}
我尝试过更改一些processInfo属性但到目前为止没有太大成功。
提前感谢您对此事的任何帮助/见解 罗伊。
答案 0 :(得分:1)
该功能的最终版本:
private void CompressFile(string sourceName, string extension)
{
string targetName = sourceName.Replace(extension, ".zip");
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.FileName = @"C:\Program Files\7-Zip\7z.exe";
processInfo.Arguments = "a -tgzip \"" + targetName + "\" \"" + sourceName + "\" -mx=9";
processInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process presses = Process.Start(processInfo);
presses.WaitForExit();
}