출처 : Windows API 정복 (가남사)
두개의 다른 프로세스가 변수를 공유해야 할 일이 생긴다면? 핵심 코드는 다음과 같다.
m_hFMap=CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, MAXSHAREMEMORY, "MEMSHAREMAPPING");
m_PtrInFile = (TCHAR *)MapViewOfFile(m_hFMap,
FILE_MAP_ALL_ACCESS, 0, 0, MAXSHAREMEMORY);
...
UnmapViewOfFile(m_PtrInFile);
CloseHandle(m_hFMap);
m_PtrInFile = (TCHAR *)MapViewOfFile(m_hFMap,
FILE_MAP_ALL_ACCESS, 0, 0, MAXSHAREMEMORY);
...
UnmapViewOfFile(m_PtrInFile);
CloseHandle(m_hFMap);
분명, API 정복 책, 다 본것 가튼데.. 왜 처음보는 내용인걸까... 이번엔 꼭 기억하려고 예제를 만들어보았다!
예제에 있는 실행파일을 두번 실행해보자.
하나는 MemShare1, 두번째는 MemShare2로 실행될 것이다. 신기하게도 두 프로그램의 에디트박스의 내용은 서로 공유된다!

MemShare.zip
댓글을 달아 주세요