怎样在两个VB程序之间传递信息?

怎样在两个VB程序之间传递信息?,第1张

可以用动态数据交换(Dynamic Data Exchange,DDE)实现进程之间的通信。

发送端:

添加Command1,Text1控件,Text1的内容用于发送。

代码如下:

Private Sub Command1_Click()

Dim t As Long

Text1.LinkMode = 0

Text1.LinkTopic = "Child|FrmChild" '注意此处一定与接收的程序名称和连接的标题相同否则连接不成功。

Text1.LinkMode = 2

Text1.LinkExecute Text1.Text

t = Text1.LinkTimeout

Text1.LinkTimeout = 1

Text1.LinkMode = 0

Text1.LinkTimeout = t

End Sub

接收端:

添加Text1控件,Text1的内容用于接收。设置工程名称为Child(与发送的程序名对应),设置窗体的LinkMode属性为1,LinkTopic为FrmChild(对应上面发送的标题)。

Private Sub Form_LinkExecute(CmdStr As String, Cancel As Integer)

Text1 = CmdStr

Cancel = 0

End Sub

编译后,先运行接收端,然后运行发送端,输入内容,发送即可成功。

Winsock控件建立在TCP、UDP的协议基础上,以完成计算机网络间的通信。下面将详细的介绍具体的程序创建过程,以便使大家更好的理解程序的源代码。

服务器端程序的运行过程是:

(1)服务器端要设置好侦听端口即LocalPort属性,作为侦听端口的值必须是一个整数(一定要是其它TCP/IP应用程序没有用过的值,并且不能与系统缺省端口冲突)。

(2)用Listen方法进入侦听状态,等待客户机的连接请求。

(3)当客户机发出连接请求时,使服务器产生一个ConnectionRequest事件,且该事件得到一个参数equestID。

(4)服务器程序用Accept方法接受客户机requestID请求。这样,服务器程序便可以用SendData方法来发送数据了。但是,Accept方法必须用上一个步得到的requestID作为其参数。

(5)当服务器程序接收到数据时,便会产生一个DataArrial事件,参数BytesTotal包含接收到的数据字节数。在该事件中,可以用GetData方法接收数据。

(6)如果接收到Close事件,则用Close方法关闭TCP/IP连接。

客户机的程序的运行过程是:

(1)在客户程序中设置Remmotehost属性,以便指定运行服务器程序的主机名,该字符串可以在服务器“ 控制面板 网络 标识 计算机”中查到。

(2)设置RemotePort属性,以便指定服务器程序的侦听端口(其设置方法与服务器端类似)。

(3)使用Connect方法,向服务器提出连接请求。

(4)当服务器程序接受到客户机程序的请求后,客户机程序产生Connect事件,就可以用SendData方法发送数据了。

(5)当客户机程序接收到数据时,便会产生DataArrival事件,参数BytesTotal包含接收到的数据字节数。类似的在该事件中也可以用GetData方法接收数据。

(6)如果客户机程序接收到Close,则用Close方法关闭连接。

使用说明:

本程序实现了两台计算机之间的自由通信。先将编译好的程序分别放入两台已联网的计算机的 开始 启动 中,这样每次启动时,程序将会自动运行,程序启动时将以最小化的形式出现在任务栏中,当用户使用时可以通过点击任务栏上的该程序图标来激活该程序,一方将程序激活后,在“请输入所要连接的主机名:“右侧的我框中输入需要连接的计算机名,并敲“连接”键便可连接成功。此时在“接收窗口:”下的我框中将会出现“连接成功”的提示。然后就可以在“发送窗口:”下的我框中输入要说的话了,输入完毕后敲“发送”键后便可使另一方收到你的话了,如果另一方的程序尚未正常化,那么另一方程序将发出提示音并使任务栏中程序的图标闪烁,直到另一方将程序激活为正常化并与你对话为止。如果暂时停止对话可以点击该程序的极小化按钮将程序最小化,一旦需要再次通话可直接激活该程序发送过去,如果另一方的程序尚未正常化,那么程序仍将发出提示音并使开使栏中程序的小图标闪烁,直到另一方将程序正常化并与你对话为止。所以,无论什么时候想与对方通话只要对方开了机便可以实现。当需要断开连接时请按“关闭”键,该程序能自动发送结束消息,使对方能够知道你已断开连接,以结束程序运行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8135769.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存