fcamuso

Untitled

Jul 21st, 2026
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. import std;
  2. #include <windows.h>
  3.  
  4. auto main() -> int
  5. {
  6.  
  7.     STARTUPINFO si{ .cb = sizeof(STARTUPINFO) }; // oppure si.cb = ...
  8.     PROCESS_INFORMATION pi{};
  9.  
  10.  
  11.     // tentiamo di creare un processo che esegua il blocco note
  12.     //LINK alla documentazione della funzione: https://msdn.microsoft.com/en-us/library/ms682425(v=vs.85).aspx
  13.  
  14.     // CreateProcess richiede un wchar_t modificabile
  15.     wchar_t cmd[] { L"notepad.exe" };
  16.  
  17.     if (!CreateProcess(
  18.         NULL,
  19.         cmd,          
  20.         NULL,
  21.         NULL,
  22.         FALSE,
  23.         0,
  24.         NULL,
  25.         NULL,
  26.         &si,
  27.         &pi)
  28.         )
  29.     {
  30.         std::println("CreateProcess ha fallito. errore: {}", GetLastError());
  31.         return 2;
  32.     }
  33.  
  34.     std::println("Blocco note lanciato. In attesa della sua terminazione ...");
  35.     // Metti in attesa il processo di esecuzione di questo programma
  36.     // fino al completamento di quello creato (chiusura del blocco note)
  37.     WaitForSingleObject(pi.hProcess, INFINITE);
  38.  
  39.     // Rilasciamo le risorse attivate per la creazione
  40.     CloseHandle(pi.hProcess);
  41.     CloseHandle(pi.hThread);
  42.  
  43.     std::println("Il controllo e` tornato al processo principale!");
  44.     return 0;
  45. }
  46.  
Advertisement
Add Comment
Please, Sign In to add comment