关于虚拟串口的实现是怎么做出来的? ( 积分: 100 )

  • 主题发起人 主题发起人 sxwy
  • 开始时间 开始时间
S

sxwy

Unregistered / Unconfirmed
GUEST, unregistred user!
前些日子,在一家公司的SDK开发包里面发现了一个工具,它可以在电脑上建立一个串口,但是,当你用软件往这个串口发送数据时,这些数据却被它的另外一个软件接收了.然后再进行处理,请问这是用什么东西做出来的呀.DELPHI可以做吗.
 
前些日子,在一家公司的SDK开发包里面发现了一个工具,它可以在电脑上建立一个串口,但是,当你用软件往这个串口发送数据时,这些数据却被它的另外一个软件接收了.然后再进行处理,请问这是用什么东西做出来的呀.DELPHI可以做吗.
 
请帮忙解答一下
 
串口通讯有mscomm标准控件那,你发过去的信息,就回被那边的comm口接收。
 
http://www.sysinternals.com/search/default.aspx?query=portmon

这个东西可以不,据说可以写个设备驱动

http://www.delphibbs.com/delphibbs/dispq.asp?lid=1373976
虚拟串口

看看当时的代码还在不
 
基本上写一个虚拟串口的驱动是正统.或者在台式机把COM1/COM2连接起来,它发COM1,你收COM2也可以。
 
这个问题不能用硬件实现的,我看了他们的SDK,总的意思就是由他们的软件建立一个虚拟串口,然后把发往这个串口的数据载下来进行再处理,而对于一般用户而言是不知道这个串口是虚拟的,因为这个串口和其它硬件串口一样.只不过这个虚拟串口把用户软件发往它的数据转到另一个地方进行处理.
 
DriverStudio的驱动向导中有一个就是虚拟串口。这个并不是很复杂,仅仅是需要这方面的一些知识而已
 
我现在如果有一个可以建立虚拟串口的工具,应该怎么把发往虚拟串口的数数载下来呢
 
如果能多出来一个虚拟串口,当然是和正常串口一样用了,一个收,另外一个发,个人看法
 
我看是我表达的方式不正确,是这样的,现在有一个虚拟串口建立工具,用它可以建立一个虚拟串口,比如一个虚拟串口8,但是这个虚拟串口在电脑的硬件是是不存在的,那么,当用一个软件往这个串口8写数据时,数据到哪里去了呢.(而现在想做的是如何把这些数据载下来)
我看过的一个软件DEF.EXE是这样的思路,它首先用虚拟串口建立一个虚拟串口8,但这个串口在硬件上是不存在的,而用户却不知道,用户还会像打开其它串口一样用操作软件ABC.EXE往这个串口写数据,这个时候这个DEF.EXE软件就在电脑的后台起作用了.它会把用户软件ABC.EXE发往虚拟串口8的数据载下来,然后以TPC/IP协议的方式将用户发往这个虚拟串口的数据经过打包转换之后往INTERNET的另一台目击者标电脑上传送.这就是一个SDK里面的程序功能,这样的好处就是为许多串口通讯软件提供了方便,其本不用改变原有的方式(串口通信),就可以将串口数据通过INTERNET传送.这个过程是分开的而又同步的,当用户用ABC.EXE往虚拟串口8发数据时,转换工具DEF.EXE在后台已经同步将数据载下来了,并将数据发往目击者标IP.这就是所谓的用虚拟串口转发数据到INTERNET,而对于电脑上硬件串口是不可能的,那就是一个串口在同一时间只能被一个程序所控制,就以MSCOMM来说,在用户用ABC.EXE软件打开了硬件串口8,MSCOMM。PORTNAME:=8,MSCOMM:=TRUE,这个时候MSCOMM的操作权就完全在ABC.EXE里了,对于这个时候ABC.EXE发往MSCOMM的数据,用另一个软件是读不到了,除非在电脑的硬件串口的第二,三,五根线上接上电线才能将数据载下来.就是这样的原理。
 
//当用一个软件往这个串口8写数据时,数据到哪里去了呢.
写到驱动程序中去了。
 
后退
顶部