C# winform 调用其他语言的Exe文件,并获取返回值
来源:互联网 发布:看耽美的软件 编辑:程序博客网 时间:2024/05/16 17:21
正常来说,那么winform是获取不到EXE的返回值,这时我所用的方法是把EXE中的值写到csv文件中,然后winform去读取csv
private void btnGoodsSelect_Click(object sender, EventArgs e)
{
ParameterizedThreadStart pts = new ParameterizedThreadStart(RunCommand);
Thread FirstChildThread = new Thread(pts);
FirstChildThread.Start("Apsi.exe H111601010102I.psp +ARG -B " + basesCode + " -G " + txtGoods.Text.ToString() + " -S " + goodsSegment + "");
}
/// <summary>
/// 执行Commond命令
/// </summary>
/// <param name="CommandName">CommandName</param>
public void RunCommand(object CommandName)
{
if (process == null)
{
process = new Process();
process.StartInfo.FileName = "cmd.exe"; //确定程序名
process.StartInfo.Arguments = "/c " + CommandName; //确定程式命令行
process.StartInfo.UseShellExecute = false; //Shell的使用
process.StartInfo.RedirectStandardInput = true; //重定向输入
process.StartInfo.RedirectStandardOutput = true; //重定向输出
process.StartInfo.RedirectStandardError = true; //重定向输出错误
process.StartInfo.CreateNoWindow = true; //设置不显示示窗口
process.Exited += new EventHandler(p_Exited);//在process结束时调用
process.EnableRaisingEvents = true;
process.Start();
process.WaitForExit();
process.Close();
process.Dispose();
process = null;
}
}
/// <summary>
/// 自定义进程退出事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void p_Exited(object sender, EventArgs e)
{
//创建委托,InvokeFun时它的托管代码
MethodInvoker mi = new MethodInvoker(this.InvokeFun);
this.BeginInvoke(mi);//异步执行委托;
}
/// <summary>
/// 委托mi的托管代码
/// </summary>
private void InvokeFun()
{
StreamReader sr = new StreamReader("C:\\Test.csv", Encoding.Default);
string s = "";
while ((s = sr.ReadLine()) != null)
{
string[] str = s.Split(',');
this.txtGoods.Text = str[0].Replace("\"", "");
this.goodsSegment = str[2].Replace("\"", "");
}
sr.Close();
GoodsCheck();
this.txtGoods.Focus();
this.txtGoods.SelectionStart = 0;
}
- C# winform 调用其他语言的Exe文件,并获取返回值
- C# 运行.exe 并获取返回值
- MFC的EXE调用VBS,并获取VBS的返回值状态码
- C#调用批处理(bat)文件,并获取执行批处理(bat)文件后返回值
- C# 调用exe 传参 ,并获取打印值
- 运行.exe文件并获取返回值(使用WinExec和system的区别)
- java 中调用window系统中的文件,或者执行命令(shell、.CMD、.EXE)并获取返回值
- java调用exe并且获取返回值的例子
- C语言调用System命令并获取命令的返回值
- C语言调用System命令并获取命令的返回值
- 批处理调用exe获取返回值
- java 中调用window系统中的文件,或者执行命令(shell、.CMD、.EXE)并获取返回值(如果有的话)
- jquery获取ajax成功请求的返回值,并返回给其他函数使用
- c# winform获取当前路径exe程序的版本号
- C语言调用exe并将结果输出到文件
- C#如何调用外部的exe文件
- C#编写dll库文件并注册为COM组件供其他语言(如PHP等)调用
- C中调用带参数的exe并接收返回值
- ajax在lotus上的应用
- php在gbk编码下繁体与简体互转函数
- java 获取系统变量(环境变量和设置变量)
- ClassNotFoundException PathClassLoader[/data/app/com.xx.gamexx-1.apk] 的异常
- 一位ACMer过来人的心得
- C# winform 调用其他语言的Exe文件,并获取返回值
- Ubuntu Linux 环境变量
- 追加文件内容的三种方法
- 关于路由器的一些知识
- CTex cannot open TrueType font file for reading 简单的解决方法
- Android sdk离线下载
- jsp连接MySQL数据库显示GIS地理数据乱码问题的解决(select AsText(the_geom))
- ural 1306(堆-优先级序列)
- hdu 分类