请问如何在.net中周期性的调用一个用C写的编译好的exe程序

zouqi 2006-02-27 08:50:43
该C程序采集了8个数据,存入数组中。
请问怎么能传给.net(用C#)。
谢谢指教!
...全文
95 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Fusuli 2006-03-03
这就是进程间通信的问题

如果对实时性要求比较高,可以使用socket通信
回复
iegrhn 2006-03-03
学习
回复
syeerzy 2006-03-03
都已经是exe了......

如果你可以修改这个exe的话,最方便是让它输出到一个永久介质上,比如xml,txt或数据库.

C#里头周期性地读就好了.
回复
wxdl1981 2006-03-01
好的.
方法1: SendMessage override Form.DefWnd
这是传统的C++ Windows编程方式.
1.在C程序中将数据这样发出(仅供参考):
SendMessage(WM_USER, ..., ...)
2.在C#程序里重写主窗体的DefWndProc函数,处理过来的数据
 swich(Message)
{
case WM_USER:
.....
break;
}

方法3: Dos方式输出 Process, 获取输出流
1.在C程序里用命令行方式输出数组(这个不用我说了吧?).
2.在C#程序里以System.Diagnostics.Process方式运行
Process a = new Process();
a.StartInfo.FileName = "C.exe";
a.StartInfo.RedirectStandardOutput = true;
a.StartInfo.CreateNoWindow = true;
a.Start();
StreamReader stream1= a.StandardOutput;

stream1.Read....
回复
zteclx 2006-02-28
在c中保存为文件,再从.net中读文件
回复
zouqi 2006-02-28
能具体说明一下方法1和3吗?
谢谢!
回复
wxdl1981 2006-02-28
在C中, 要把这个数组Post出来. 然后再从C#里读Post的结果.

C C#
方法1: SendMessage override Form.DefWnd
方法2: 周期性保存成文件 运行C程序,周期性读取文件
方法3: Dos方式输出 Process, 获取输出流
回复
相关推荐
发帖
分析与设计
创建于2007-09-28

1.3w+

社区成员

.NET技术 分析与设计
申请成为版主
帖子事件
创建了帖子
2006-02-27 08:50
社区公告
暂无公告