vb 怎么向窗体发送自定义消息

比如form1向另外一个进程的form2窗体发送一个消息内容"你好",然后在form2中显示,怎么实现不用winsock控件之类的... 比如form1向另外一个进程的form2窗体发送一个消息内容"你好",然后在form2中显示,怎么实现
不用winsock控件之类的
展开
 我来答
tf日出
2013-03-07 · TA获得超过1076个赞
知道小有建树答主
回答量:648
采纳率:0%
帮助的人:257万
展开全部
两个进程都是你自己编写的吗?如果是,那就比较简单,直接用DDE连接就可以了。
如果那个窗体不是你自己编的进程,那就只能用API函数了,比如用sendmessage,这需要学习WINDOWS编程,以便学习那个进程的控件可以接受哪些消息,还要受到那个进程是否用采WINDOWS标准控件的限制。
prius0304
2013-03-07 · TA获得超过754个赞
知道小有建树答主
回答量:683
采纳率:0%
帮助的人:376万
展开全部
VB.net 比较麻烦,需要两个窗口都声明定义一下frm。

VB很简单,语法是form2.text1.text依次类推。
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
whbacb
2013-03-07 · TA获得超过2450个赞
知道大有可为答主
回答量:7164
采纳率:0%
帮助的人:2515万
展开全部
Form2的窗口句柄在Windows的消息机制
第一个form1的过程,然后Form2的进程的pid打开句柄的进程,然后在Form2的过程中申请一个空间,该字符串是写在这个空间里,将消息发送到Form2的,只是应用程序Form2的过程中,地址空间的首地址,通过发送消息,发送FORM2,
然后Form2的,以自己的窗口过程,窗口过程指向自己写的很好的功能来处理消息处理自己定义的消息类型,然后在功能上,访问给我发信息,得到的第一个地址,阅读本应用空间字符串。然后,释放内存空间。

查找窗口
openprocess
CloseHandle的
PostMessage的
GetWindowThreadProcessId
WriteProcessMemory
readProcessMemory
在VirtualAlloc使用的API列表
VirtualFree
SetWindowLong函数
callwindowproc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
懂事且健壮灬小喵e
2013-03-07 · TA获得超过756个赞
知道小有建树答主
回答量:575
采纳率:52%
帮助的人:410万
展开全部
使用windows消息机制
首先form1的进程找到form2的窗口句柄,然后得到form2的进程pid,打开该进程的句柄,然后在form2进程中申请一个空间,把字符串写入这个空间中,在给form2发送一个消息,把刚在form2进程中申请的地址空间的首地址通过发送消息发送给form2,
然后form2 修改自己的窗口过程,把窗口过程指向自己编写好的处理消息的函数,然后在该函数中处理自己定义消息类型,获取到发过来的消息,得到首地址,读取这个申请空间的字符串。然后释放该内存空间。
要使用的 api 列表
findwindow
openprocess
closehandle
postmessage
GetWindowThreadProcessId
WriteProcessMemory
readProcessMemory
VirtualAlloc
VirtualFree
setwindowlong
callwindowproc
追问
谢了,用一个TextBox和sendmessage已经解决了
追答
发送 SetText消息 来修改窗口内容也行。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leiyangbdwk
2013-03-07 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4379万
展开全部
查api函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式