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

zouqi 2006-02-27 08:50:43
该C程序采集了8个数据,存入数组中。
请问怎么能传给.net(用C#)。
谢谢指教!
...全文
136 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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, 获取输出流

13,189

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧