写的时候我是这样做的:
HANDLE m_hShareInfo;Typedef struct share_info3d
{
double cx,cy;
double w,h;
}SHARE_INFO3D;SHARE_INFO3D m_shareInfo;m_hShareInfo=::CreateFileMapping((HANDLE)0xffffffff,NULL,PAGE_READWRITE,0,sizeof(SHARE_INFO3D),_T("SHARE_INFO"));m_shareInfo = (SHARE_INFO3D *)::MapViewOfFile(m_hShareInfo,FILE_MAP_WRITE,0,0,0);m_shareInfo->cx = 0; // Coordinate X of central point
m_shareInfo->cy = 0; // Coordinate Y of central point
m_shareInfo->w = 0; // the width of the view
m_shareInfo->h = 0; // the height of the view在读的时候应该用什么方法呢?另外我另一个应用程序中判断这个_T("SHARE_INFO"))是否已经创建了,应该如何判断呢?谢谢!

解决方案 »

  1.   

    在另一个程序中试试这个:
    HANDLE m_hShareInfo;
    SHARE_INFO3D *m_pShareInfo;m_hShareInfo = ::OpenFileMapping(FILE_MAP_READ, FALSE, _T("SHARE_INFO"));
    if (m_hShareInfo!=0) { // already exists
    m_pShareInfo = (SHARE_INFO3D *)::MapViewOfFile(m_hShareInfo, 
                                                            FILE_MAP_READ, 0, 0, 0);
    if (m_pShareInfo!=NULL) {
    //TODO: Add code here.

    ::UnmapViewOfFile(m_pShareInfo);
    }
    ::CloseHandle(m_hShareInfo);
    }