我想设计一个c程序,它可以运行第三个exe应用程序,如winrar。程序将浏览文件,当用户单击按钮时,创建存档的过程将开始….!
我知道使用system.diagnostics.process.start方法可以执行.exe文件。例如
Process.Start(@"C:\path\to\file.zip");
getfile(“filename”,“open winrar to execute the file”)我需要这样的东西。我想把文件名传给第三个应用程序,不需要打开winrar。有可能吗?我该怎么开始?任何参考/指导/解决方案都非常感谢。
非常感谢。
//已更新
这是打开winrar.exe程序的代码,否则会出现错误消息。我用“浏览”按钮打开它并接受来自txtdest.text的文件。所以从这里开始,我不想打开文件,而是直接压缩。我试图更改“rar.exe”或“unrr.exe”,但没有成功。是吗?
谢谢您。
ProcessStartInfo startInfo = new ProcessStartInfo("WinRAR.exe");
startInfo.WindowStyle = ProcessWindowStyle.Maximized;
startInfo.Arguments = txtDest.Text;
try
{
// Start the process with the info we specified.
using (Process exeProcess = Process.Start(startInfo))
{
exeProcess.WaitForExit();
}
}
catch
{
MessageBox.Show("Error Open");
}
}
最佳答案
为此,您可能需要使用unrr.dll,它是由制作winrar的rarlabs发布的库。它包含了作为com接口公开的winrar的所有功能。我最近在一个项目中使用了它,它非常好,公开了打开和浏览档案以及压缩和解压缩的方法。
http://www.rarlab.com/rar_add.htm向下滚动至“unrr.dll Windows软件开发人员的unrr动态库”。
它附带了一组非常好的示例,包括浏览存档和api文档。