文件名称:VB进程间通讯演示
文件大小:108KB
文件格式:ZIP
更新时间:2009-04-04 17:46:40
综合系统类
说明: 一共四个演示。分别如下: 1:Sample 一个简单的使用了共享内存映射的例子,运行两个实例看看就知道,没有什么特别。 2:SendText 不用窗口子类化,而达到和发送自定义消息同样的效果。 3:SendFile 由于演示2中还是通过发消息来传递字符串,不可能传递大块文本,本例综合演示1和演示2达到传递大块文本的功能。 4:Chat 演示2和演示3使用的都是SendMessage来发放通知消息,所以不能异步通讯,SetWindowText不能跨进程使用,PostMessage只能在WM_USER以上的自定义消息中才能传递指针,那么如何才能异步通讯呢?我还没有好主意,就用定时器吧!看看这个可以聊天的程序就知道了。 Common目录下有四个模块。 其中ShareStr2.cls是原来大师Bruce MicKenney写的东西,就是这个东西害我浪费很多时间来调试。原来大师的东西也会有错。 代码做过一点注释,不过做得不好,乱! 有些问题在注释里做了说明,这里就不说了。 至于用剪贴板,管道、邮件槽、COM+组件等等方法,以后有时间还要研究研究。 在VB里使用内存文件映射技术需要大量使用CopyMemory,还要处理好DBCS和UNICODE的关系,程序虽然已经调试通过,还需要大家一起改进。 2002年2月18日更新: 加入了用DLL共享节和VB回调函数的代码,可以说 这是这方面最快的解决方案。
【文件预览】:
SendText.exe
Release
Sample.exe
Common
----ShareStr.cls(5KB)
----Debug.bas(5KB)
----ShareStr2.cls(4KB)
----modCommon.bas(2KB)
SetText
----frmSendText.frm(3KB)
----MSSCCPRJ.SCC(193B)
----SendText.vbp(898B)
----SendText.vbw(137B)
CallBack.exe
CallBackSrv
----Resource.h(383B)
----Release()
----CallBackSrv.dsw(545B)
----res()
--------CallBackSrv.rc2(403B)
----CallBackSrv.ncb(49KB)
----CallBackSrv.dsp(4KB)
----CallBackSrv.def(234B)
----CallBackSrv.rc(3KB)
----CallBackSrv.clw(352B)
----CallBackSrv.opt(54KB)
----StdAfx.cpp(213B)
----CallBackSrv.h(1KB)
----StdAfx.h(1KB)
----CallBackSrv.plg(1KB)
----CallBackSrv.cpp(4KB)
----Debug()
----ReadMe.txt(3KB)
Chat.exe
Sample
----Form1.frm(2KB)
----Sample.vbp(828B)
----MSSCCPRJ.SCC(191B)
----Sample.vbw(126B)
Chat
----frmFileMapping.frm(3KB)
----Chat.vbp(842B)
----MSSCCPRJ.SCC(338B)
----Chat.vbw(132B)
----frmFileMapping.frx(6B)
----ShareStr2.cls(4KB)
----FileMapping.vbw(186B)
WhatNew.txt
CallBack
----Module1.bas(228B)
----Form1.frm(3KB)
----CallBack.vbw(95B)
----MSSCCPRJ.SCC(193B)
----CallBack.vbp(850B)
ReadFirst.txt
MSSCCPRJ.SCC
SendFile.exe
OldFiles
----CallBack.exe(20KB)
----CallBackSrv()
--------Resource.h(383B)
--------Release()
--------CallBackSrv.dsw(545B)
--------res()
--------CallBackSrv.ncb(49KB)
--------CallBackSrv.dsp(4KB)
--------CallBackSrv.def(234B)
--------CallBackSrv.rc(3KB)
--------CallBackSrv.clw(352B)
--------CallBackSrv.opt(54KB)
--------StdAfx.cpp(213B)
--------CallBackSrv.h(1KB)
--------StdAfx.h(1KB)
--------CallBackSrv.plg(2KB)
--------CallBackSrv.cpp(4KB)
--------Debug()
--------ReadMe.txt(3KB)
----使用了Ansi到Unicode转换的版本.txt(0B)
----CallBack()
--------Module1.bas(228B)
--------Form1.frm(3KB)
--------CallBack.vbw(95B)
--------MSSCCPRJ.SCC(193B)
--------CallBack.vbp(711B)
----CallBackSrv.dll(28KB)
Changes.txt
CallBackSrv.dll
SendFile
----frmSendFile.frm(5KB)
----SendFile.vbp(909B)
----SendFile.vbw(148B)
----MSSCCPRJ.SCC(193B)
----frmSendFile.log(135B)
readme.txt