pisya

lab3 nice code

Mar 16th, 2021 (edited)
659
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1. //#include <stdafx.h>
  2. #include "windows.h"
  3. #include "iostream"
  4.  
  5. using namespace std;
  6.  
  7. void OpenFilesAndFillProcessArray(int countOfFiles, HANDLE(&hProcessArray)[5]);
  8. void TerminateProcessArray(int countOfFiles, HANDLE(&hProcessArray)[5]);
  9.  
  10. int main() {
  11.     setlocale(LC_ALL, "Russian");
  12.  
  13.     int countOfFiles = 5;
  14.     HANDLE hProcessArray[5] = {};
  15.  
  16.     OpenFilesAndFillProcessArray(countOfFiles, hProcessArray);
  17.  
  18.     if (hProcessArray[0]) {
  19.         printf("\n");
  20.         Sleep(4000);
  21.  
  22.         TerminateProcessArray(countOfFiles, hProcessArray);
  23.         printf("\n");
  24.     }
  25.  
  26.     system("pause");
  27.     return 0;
  28. }
  29.  
  30. void OpenFilesAndFillProcessArray(int countOfFiles, HANDLE(&hProcessArray)[5]) {
  31.     STARTUPINFO sti;
  32.     PROCESS_INFORMATION pri;
  33.     LPCWSTR notepadPath = TEXT("C:\\Windows\\System32\\notepad.exe");
  34.  
  35.     ZeroMemory(&sti, sizeof(sti));
  36.     sti.cb = sizeof(sti);
  37.     ZeroMemory(&pri, sizeof(pri));
  38.  
  39.     for (int i = 0; i < countOfFiles; i++) {
  40.         BOOL isCreatedFile = CreateProcess(
  41.             notepadPath,
  42.             NULL, NULL, NULL, FALSE, NULL, NULL, NULL,
  43.             &sti, &pri
  44.         );
  45.  
  46.         if (isCreatedFile) {
  47.             cout << "Process " << pri.hProcess << " created\n";
  48.             Sleep(1000);
  49.             hProcessArray[i] = pri.hProcess;
  50.         } else {
  51.             printf("Invalid path to programm.\n");
  52.         }
  53.     }
  54. }
  55.  
  56. void TerminateProcessArray(int countOfFiles, HANDLE(&hProcessArray)[5]) {
  57.     for (int i = countOfFiles - 1; i >= 0; i--) {
  58.         if (hProcessArray[i]) {
  59.             cout << "Process " << hProcessArray[i] << " will be terminate\n";
  60.             TerminateProcess(hProcessArray[i], NO_ERROR);
  61.             Sleep(400);
  62.         }
  63.     }
  64. }
  65.  
  66.  
Advertisement
Add Comment
Please, Sign In to add comment