.NET调用控制台下生成的exe文件,传参及获取返回参数的思路及代码
最近客户要求把一个树型目录导出成文件夹套文件夹的结构,并提供下载功能,刚开始感觉功能比较容易实现就在最短的时间把基本功能搞定,当发布到服务器上之后发现直接在本应用程序中导出目录(下带ntko文档及附件)再进行压缩,程序直接卡死了!后来就想到了要做一window服务,只是客户给的时间太短,没办法先写一控制台程序生成一个exe文件,然后再调用这个exe文件,这样就可以缓解本程序压力了!
下面写一个测试项目
在调用exe端传过去一个要压缩的文件夹的路径,然后在控制台下获取该路径进行压缩,压缩完成之后返回压缩过后的文件夹路径或者返回一个成功与否的状态
1、返回路径
string path = @"E:\测试项目\201303\TestWindowsService\ca\bin\Debug\ca.exe";
string fileName = path;Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = fileName;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.Arguments = @"D:\zhai\aaa\安置帮教";//参数以空格分隔,如果某个参数为空,可以传入””
p.Start();
p.WaitForExit();
//此处可以返回一个字符串,此例是返回压缩成功之后的一个文件路径
string output = p.StandardOutput.ReadToEnd();
this.TextBox1.Text = output;
控制台下代码:
static void Main(string[] args)
{
//接收传过来的待压缩文件路径
string url = "";
//返回压缩过后的文件路径
string retUrl = "";
if (!string.IsNullOrEmpty(args[0]))
{
url = args[0];
}
//此处引用了一个压缩文件的dll using Ionic.Zip;
using (ZipFile zf = new ZipFile(System.Text.Encoding.Default))
{
zf.AddDirectory(url);
zf.Save(@"D:\zhai\aaa\"+DateTime.Now.ToString("yyyyMMddHHmmss")+".zip");
retUrl = @"D:\zhai\aaa\"+DateTime.Now.ToString("yyyyMMddHHmmss")+".zip";
}
Console.Write(retUrl);
}
2、返回一个状态
//Process myProcess = new Process();//string fileName = path;
//string para = "你好 北纬30度!";
//ProcessStartInfo myProcessStartInfo = new ProcessStartInfo(fileName, para);
//myProcess.StartInfo = myProcessStartInfo;//myProcess.Start();
//while (!myProcess.HasExited)
//{// myProcess.WaitForExit();
//}
//int returnValue = myProcess.ExitCode;
控制台下
static int Main(string[] args)
{
int i=0;
if (!string.IsNullOrEmpty(args[0]))
{
url = args[0];
}
if(url)
{
i=1;
}
return i;
}
您可能感兴趣的文章:
- .NET调用控制台下生成的exe文件,传参及获取返回参数的思路及代码
- .NET调用控制台下生成的exe文件,传参及获取返回参数
- 在C#中调用EXE文件(传参数、等待、返回结果)
- 生成带参数的exe文件及matlab调用带参数exe文件的方法
- C# 调用带参数EXE文件及带启动参数EXE
- .NET用使用存储过程获取输出参数的代码示例!
- 显示调用的程序的返回参数和执行时间 cb_console_runner.exe
- 在vb和asp中调用c#生成的.net的dll,详细步骤、截图和代码
- 如何在C#代码中调用exe执行文件
- 根据屏幕文件生成RPG代码的思路
- java 中调用window系统中的文件,或者执行命令(shell、.CMD、.EXE)并获取返回值(如果有的话)
- JavaScript调用本地EXE文件与查看注册表代码
- 在vc中怎么调用exe文件并传递参数
- flash(as3.0)调用EXE文件,及java程序打JAR包和生成EXE过程
- .net定期删除一文件夹下的所有文件,并调用相关exe 分类: .NET 2011-03-25 11:21 1832人阅读 评论(0) 收藏
- C# 调用带参数EXE文件及带启动参数EXE制作
- C# 调用带参数EXE文件及带启动参数EXE制作
- .net定期删除一文件夹下的所有文件,并调用相关exe
- 关于在java环境下调用 .net的 webservice无法获取参数的问题
- php利用soap实现调用获取返回信息的代码实例