在多个进程间怎样使用同一个对象?
比如,进程A有个对象OA,进程B、C、D怎样调用OA这个对象?

解决方案 »

  1.   

    不知道拖放操作时对IDataObject使用满不满足你的要求
      

  2.   

    不可以使用内存文件映射,因为进程A有SYSTEM的权限,而其它的B、C、D等只有普通的权限,所以无法映射到同一个Map
      

  3.   

    怎样从FileMap中存取一个对象?
      

  4.   

    关于FileMap, 
    http://community.csdn.net/Expert/topic/3393/3393211.xml?temp=.427395
      

  5.   

    CreateFile
    CreateFileMapping
    MapViewOfFile
    UnmapViewOfFile
    CloseHandle例:
    HANDLE hMySharedMapFile=CreateFileMapping((HANDLE)0xFFFFFFFF),
    NULL,PAGE_READWRITE,0,0x1000,"MySharedMem");
    LPSTR pszMySharedMapView=(LPSTR)MapViewOfFile(hMySharedMapFile,
    FILE_MAP_READ|FILE_MAP_WRITE,0,0,0);其他进程访问共享对象,需要获得对象名并调用OpenFileMapping函数。
    HANDLE hMySharedMapFile=OpenFileMapping(FILE_MAP_WRITE,
    FALSE,"MySharedMem");