Guest User

OsLab2FProc

a guest
Jun 6th, 2016
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <stdio.h>
  3. #include <conio.h>
  4. #include <Windows.h>
  5. #include <locale.h>
  6. #include <tlhelp32.h>
  7.  
  8. #define BUF_SIZE 256
  9. TCHAR szName[] = TEXT("MyFileMappingObject");
  10. TCHAR szMsg[] = TEXT("10");
  11.  
  12. int _tmain(int argc, _TCHAR* argv[])
  13. {
  14. HANDLE hMapFile, hProcessSnap;
  15. LPCTSTR pBuf;
  16. PROCESSENTRY32 pe32;
  17.  
  18. hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  19. if (hProcessSnap == INVALID_HANDLE_VALUE) return 1;
  20.  
  21. pe32.dwSize = sizeof(PROCESSENTRY32);
  22.  
  23. hMapFile = CreateFileMapping(
  24. INVALID_HANDLE_VALUE, // ispol'zovanie fajla podkachki
  25. NULL, // zashhita po umolchaniju
  26. PAGE_READWRITE, // dostup k chteniju/zapisi
  27. 0, // maks. razmer objekta
  28. BUF_SIZE, // razmer bufera
  29. szName); // imja otrazhennogo v pamjati ob#ekta
  30. if (hMapFile == NULL)
  31. {
  32. printf("Can not open file mapping object (%d).\n", GetLastError());
  33. _getch();
  34. return 1;
  35. }
  36.  
  37. pBuf = (LPTSTR)MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, BUF_SIZE);
  38. if (pBuf == NULL)
  39. {
  40. printf("Presentation of the file can not be projected (%d).\n", GetLastError());
  41. _getch();
  42. CloseHandle(hMapFile);
  43. return 1;
  44. }
  45.  
  46. int i = 0;
  47.  
  48. while (Process32Next(hProcessSnap, &pe32)) {
  49. printf("pe32.th32ProcessID= %x\n", pe32.th32ProcessID);
  50. Sleep(100);
  51. if (i == 10) CopyMemory((PVOID)pBuf, szMsg, (_tcslen(szMsg) * sizeof(TCHAR)));
  52. i++;
  53. }
  54.  
  55. UnmapViewOfFile(pBuf);
  56. CloseHandle(hMapFile);
  57. CloseHandle(hProcessSnap);
  58. return 0;
  59. }
Add Comment
Please, Sign In to add comment