C++:
Скопировать в буфер обмена
// Process 1 (RW access)
#include <windows.h>
#include <iostream>
int main()
{
HANDLE hSection = CreateFileMappingW(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(int), L"SharedSectionName");
if (hSection == NULL)
{
// Обработка ошибки
return 1;
}
int* pData = (int*)MapViewOfFile(hSection, FILE_MAP_ALL_ACCESS, 0, 0, sizeof(int));
if (pData == NULL)
{
// Обработка ошибки
CloseHandle(hSection);
return 1;
}
// Использование разделяемой секции с RW доступом
*pData = 42;
std::cout << "Variable used successfully. Value: " << *pData << std::endl;
UnmapViewOfFile(pData);
system("pause");
CloseHandle(hSection);
return 0;
}
C++:
Скопировать в буфер обмена
// Process 2 (RX access)
#include <windows.h>
#include <iostream>
int main()
{
HANDLE hSection = OpenFileMappingW(FILE_MAP_READ, FALSE, L"SharedSectionName");
if (hSection == NULL)
{
// Обработка ошибки
return 1;
}
int* pData = (int*)MapViewOfFile(hSection, FILE_MAP_READ, 0, 0, sizeof(int));
if (pData == NULL)
{
// Обработка ошибки
CloseHandle(hSection);
return 1;
}
// Использование разделяемой секции с RX доступом
int value = *pData;
std::cout << "Variable used successfully. Value: " << value << std::endl;
UnmapViewOfFile(pData);
system("pause");
CloseHandle(hSection);
return 0;
}
работает метода )