Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <stdio.h>
- #include <conio.h>
- #include <Windows.h>
- #include <locale.h>
- #include <tlhelp32.h>
- #define BUF_SIZE 256
- TCHAR szName[] = TEXT("MyFileMappingObject");
- TCHAR szMsg[] = TEXT("10");
- int _tmain(int argc, _TCHAR* argv[])
- {
- HANDLE hMapFile, hProcessSnap;
- LPCTSTR pBuf;
- PROCESSENTRY32 pe32;
- hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
- if (hProcessSnap == INVALID_HANDLE_VALUE) return 1;
- pe32.dwSize = sizeof(PROCESSENTRY32);
- hMapFile = CreateFileMapping(
- INVALID_HANDLE_VALUE, // ispol'zovanie fajla podkachki
- NULL, // zashhita po umolchaniju
- PAGE_READWRITE, // dostup k chteniju/zapisi
- 0, // maks. razmer objekta
- BUF_SIZE, // razmer bufera
- szName); // imja otrazhennogo v pamjati ob#ekta
- if (hMapFile == NULL)
- {
- printf("Can not open file mapping object (%d).\n", GetLastError());
- _getch();
- return 1;
- }
- pBuf = (LPTSTR)MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, BUF_SIZE);
- if (pBuf == NULL)
- {
- printf("Presentation of the file can not be projected (%d).\n", GetLastError());
- _getch();
- CloseHandle(hMapFile);
- return 1;
- }
- int i = 0;
- while (Process32Next(hProcessSnap, &pe32)) {
- printf("pe32.th32ProcessID= %x\n", pe32.th32ProcessID);
- Sleep(100);
- if (i == 10) CopyMemory((PVOID)pBuf, szMsg, (_tcslen(szMsg) * sizeof(TCHAR)));
- i++;
- }
- UnmapViewOfFile(pBuf);
- CloseHandle(hMapFile);
- CloseHandle(hProcessSnap);
- return 0;
- }
Add Comment
Please, Sign In to add comment