请教VB程序之间该如何传递信息??
我用VB编了两个独立的程序(甲程序和乙程序),分别编译通过;但现在我想让乙程序隐藏运行,只显示甲程序的界面;但同时,还希望知道乙程序的运行进度----也就是想把乙程序的进...
我用VB编了两个独立的程序(甲程序和乙程序),分别编译通过;但现在我想让乙程序隐藏运行,只显示甲程序的界面;但同时,还希望知道乙程序的运行进度----也就是想把乙程序的进行进度,实时显示在甲程序的界面上,请问该如何编程??
展开
2个回答
展开全部
文件存取、注册表写入
文件存取法:
程序A:(放在一个过程里,比如Text1_Change)
Open "E:\通信文件.txt" For Output As #1
Print #1,Text1.Text
Close #1
程序B:(放在一个过程里,比如Timer1_Timer,或者Command1_Click)
On Error Resume Next
Err.Clear
Open "E:\通信文件.txt" For Input As #1
If Err.Number = 0 Then
Text1.Text=""
While Not EOF(1)
Line Input #1,Tempstr
Text1.Text = Text1.Text & Tempstr & vbCrLf
Wend
End If
Close #1
Kill "E:\通信文件.txt"
Err.Clear
注册表写入法:
程序A:(过程中)
SaveSetting "通信小程序","自定义通讯","通讯1",Text1.Text
程序B:(过程中)
If GetSetting("通信小程序","自定义通讯","通讯1","无消息1") <> GetSetting("通信小程序","自定义通讯","通讯1","无消息2") Then
Text1.Text=GetSetting("通信小程序","自定义通讯","通讯1")
DeleteSetting "通信小程序","自定义通讯","通讯1"
End If
这样即可~
推荐:注册表写入法更方便(不受文件存取限制,因为写入的是用户区域,也不会导致不安全现象~)
当然用SOCK发消息也可以,不过不如这些方法简洁有效
文件存取法:
程序A:(放在一个过程里,比如Text1_Change)
Open "E:\通信文件.txt" For Output As #1
Print #1,Text1.Text
Close #1
程序B:(放在一个过程里,比如Timer1_Timer,或者Command1_Click)
On Error Resume Next
Err.Clear
Open "E:\通信文件.txt" For Input As #1
If Err.Number = 0 Then
Text1.Text=""
While Not EOF(1)
Line Input #1,Tempstr
Text1.Text = Text1.Text & Tempstr & vbCrLf
Wend
End If
Close #1
Kill "E:\通信文件.txt"
Err.Clear
注册表写入法:
程序A:(过程中)
SaveSetting "通信小程序","自定义通讯","通讯1",Text1.Text
程序B:(过程中)
If GetSetting("通信小程序","自定义通讯","通讯1","无消息1") <> GetSetting("通信小程序","自定义通讯","通讯1","无消息2") Then
Text1.Text=GetSetting("通信小程序","自定义通讯","通讯1")
DeleteSetting "通信小程序","自定义通讯","通讯1"
End If
这样即可~
推荐:注册表写入法更方便(不受文件存取限制,因为写入的是用户区域,也不会导致不安全现象~)
当然用SOCK发消息也可以,不过不如这些方法简洁有效
参考资料: http://zhidao.baidu.com/question/112354763.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询