在windows中消息分为两种,即系统消息和用户自定义消息,系统消息定义从0到0x3ff,可以使用0x400到0x7fff定义自己的消息。windows把0x400定义为WM_USER,如果想定义自己的一个消息,可以在WM_USER上加上一个值。当然了,有另外一种方法,这里就不讲了,而是使用RegisterWindowsMessage()函数。要想用消息实现进程间通信,则需要在这两个程序中定义或注册相同的消息,才能保证数据通信顺利进行。
使用这种方式实现进程间通信,但是传送的数据只能是长整型的数据,不能是字符串。所以这个就是这种方式的局限。
———————–以上转自http://blog.csdn.net/vipygd/article/details/6780325
我的测试源码:
进程1代码:
//-------------------------main.h-----------------------------
#ifndef mainH
#define mainH
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.Buttons.hpp>
#include <Vcl.ExtCtrls.hpp>
#define WM_PROCESS_RECV (WM_USER+100) //自定义消息第一步:定义自己的消息
//-------------------------------------------------------------------
class TformMain : public TForm
{
__published: // IDE-managed Components
TMemo *mmoMsgShow;
TGroupBox *GroupBox1;
TGroupBox *GroupBox2;
TLabeledEdit *ledtMsgSend;
TBitB