#include wchar_t szLibraryPath[512]; int main() { memset(szLibraryPath, 0, sizeof(szLibraryPath)); wchar_t szName[256] = L""; wsprintfW(szName, L"Global\\szLibraryName%X", (unsigned int)GetCurrentProcessId()); HANDLE hMapFile = OpenFileMappingW(FILE_MAP_READ, false, szName); if(hMapFile) { const wchar_t* szLibraryPathMapping = (const wchar_t*)MapViewOfFile(hMapFile, FILE_MAP_READ, 0, 0, sizeof(szLibraryPath)); if(szLibraryPathMapping) { lstrcpyW(szLibraryPath, szLibraryPathMapping); UnmapViewOfFile(szLibraryPathMapping); } CloseHandle(hMapFile); } if(szLibraryPath[0]) return (LoadLibraryW(szLibraryPath) != NULL); return 0; }