有两个程序A和B。
A 运行后打开COM1并一直占用;
B 需向COM1发送数据,但COM1已被A占用
所以我考虑B将要发送的数据传给A,再由A发送。
如果用读写文件的方式来实现,可能磁盘读写次数会急增,
用winsock会不会不现实?
请问还有其他简单一些的方法么?
A 运行后打开COM1并一直占用;
B 需向COM1发送数据,但COM1已被A占用
所以我考虑B将要发送的数据传给A,再由A发送。
如果用读写文件的方式来实现,可能磁盘读写次数会急增,
用winsock会不会不现实?
请问还有其他简单一些的方法么?
解决方案 »
- 答案正确吗???!!!!
- 查询问题,我急死啦
- pbyte 如何使用呢 请举个例子
- 用Datareport把msflexgrid里的数据打印出来
- 想对CNMING说两句,我也认识MSALE,msale的BBS也非常好,我也经常去的,你作为斑竹对大家也非常负责任,但是我想毕竟CSDN的名气比较大,
- 怎样用vb读取同时存有二进制和十进制的文件,并全部输出为十进制
- 关于计算"字节数"的问题???
- 请问怎么在一个事件里写公共的代码呀?
- 高手请进
- 关于msflexgrid的单选,在线等候
- 关于"随机出题"的简单问题!急用,在线等待.....
- 初学VB.NET,怎样在程序运行中改变TextBox等控件的BacKColor等属性?
2)使用双串口,在本机将两串口互连,由程序B经COM2将数据发送到COM1,由程序A接收后在转发.如你电脑无双串口,可增加一PCI串口扩展卡来增加串口满足.
我只能对一个串口操作,而且这个串口很可能是USB虚拟的。这个串口连接两种设备,一种设备(可以是键盘)只发送信息,一种(可以是打印机)只接收信息。
我的程序只负责串口发送跟接收,至于串口接到了信息怎么处理是硬件的事,我不用管。
现在的情况是这样的,要发送的信息不确定,由其他用户来确定。
我程序A是用来接收并处理串口发来的信息。程序B做成一个DLL,让用户调用。所以把两个程序整合在一起也不行。
请问还有其他方法么?
程序A一直运行着,程序B用户程序调用,用户程序如想发送信息,就将信息通过B这个DLL传给A处理,程序A对用户来说是不可见的。
端口仅由 A 打开,可以独立处理数据;
B 需要处理数据时需要通过 A 代理,A、B 之间的通讯可用 DDE 通讯实现;
B 启动时自动运行程序 A;
A 启动时用 App.PrevInstance 进行判断防止启动多个实例。
可以用TCP通讯也,可以是DDE,数据库,共享文件,哪怕是剪贴板都可以用来通讯。A可以向COM发东西,B也可以向COM发东西,这样的要求并不好,如果是同一个系统的话,和COM通讯的任务应该具有唯一性。
因此,你甚至可以专门把向COM口收发信息的功能从A和B中提取出来单独写成一个程序,然后这个程序能够通过DDE,TCP等方法由其他程序控制就可以了。DDE或TCP实在不会的话,哪怕是通过一个文本文件来交换数据都是没问题的。
我不想用读写文件或数据库或剪切板来实现。
VB程序间的DDE我学会了。我是想通过sendmessage之类的API来实现程序间的通讯,B程序用delphi做,提供几个函数给用户调用,用户调用函数即向A发送用户定义信息,A程序一直运行,接到B传来的信息后再将信息传给串口。A程序跟B程序不能整合在一起,A程序我用来读取串口的数据,对用户来说是透明的。当然,用户向串口发送信息可以直接发给程序A,由于A对用户来说是透明的,所以我用一个中间的程序B来作桥梁。B的函数对用户来说是公开的。
这贴暂时先结吧。