有很多种方法:
   >用DLL共享内存
   >SendMessage(WM_COPYDATA,......)  ,具体的参数我记不清了,到帮助中可以找到
   >使用内存映象文件。CreateFileMapping(......)
还有很多,我记得好象是新潮电子还是电脑报上有讲过,可以去查查。

解决方案 »

  1.   

    HANDLE  GetShare(char * &ShareP,int size,char *ShareName)
          {  ShareP申请的内存块地址,size字节数,ShareName共享名
                HANDLE fh=CreateFileMapping((HANDLE)-1,0,
                                PAGE_READWRITE,0,
                                Size,
                                ShareName);
                ShareP=(char *)MapViewOfFile(fh,
                                FILE_MAP_ALL_ACCESS,
                                0,0,0);
                if (GetLastError()!=ERROR_ALREADY_EXISTS)
                    ZeroMemory(ShareP,size);  // 共享区初始化
                return(fh);
          }char * ShareP=NULL;
    void  test()  // 申请一块128个字节的字符数组
          {
              HANDLE fh=GetShare(ShareP,128,"ShareForMyProg");
              for (int i=0;i<128;i++)
                  ShareP[i]=i;
              CloseHandle(fh);
          }    如果你的多个程序之间或同一个程序多次同时运行,也可借助这个办法进
    变量通讯;
        
      

  2.   

    HANDLE  GetShare(char * &ShareP,int size,char *ShareName)
          {  ShareP申请的内存块地址,size字节数,ShareName共享名
                HANDLE fh=CreateFileMapping((HANDLE)-1,0,
                                PAGE_READWRITE,0,
                                Size,
                                ShareName);
                ShareP=(char *)MapViewOfFile(fh,
                                FILE_MAP_ALL_ACCESS,
                                0,0,0);
                if (GetLastError()!=ERROR_ALREADY_EXISTS)
                    ZeroMemory(ShareP,size);  // 共享区初始化
                return(fh);
          }char * ShareP=NULL;
    void  test()  // 申请一块128个字节的字符数组
          {
              HANDLE fh=GetShare(ShareP,128,"ShareForMyProg");
              for (int i=0;i<128;i++)
                  ShareP[i]=i;
              CloseHandle(fh);
          }    如果你的多个程序之间或同一个程序多次同时运行,也可借助这个办法进
    变量通讯;