Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import std;
- #include <windows.h>
- auto main() -> int
- {
- STARTUPINFO si{ .cb = sizeof(STARTUPINFO) }; // oppure si.cb = ...
- PROCESS_INFORMATION pi{};
- // tentiamo di creare un processo che esegua il blocco note
- //LINK alla documentazione della funzione: https://msdn.microsoft.com/en-us/library/ms682425(v=vs.85).aspx
- // CreateProcess richiede un wchar_t modificabile
- wchar_t cmd[] { L"notepad.exe" };
- if (!CreateProcess(
- NULL,
- cmd,
- NULL,
- NULL,
- FALSE,
- 0,
- NULL,
- NULL,
- &si,
- &pi)
- )
- {
- std::println("CreateProcess ha fallito. errore: {}", GetLastError());
- return 2;
- }
- std::println("Blocco note lanciato. In attesa della sua terminazione ...");
- // Metti in attesa il processo di esecuzione di questo programma
- // fino al completamento di quello creato (chiusura del blocco note)
- WaitForSingleObject(pi.hProcess, INFINITE);
- // Rilasciamo le risorse attivate per la creazione
- CloseHandle(pi.hProcess);
- CloseHandle(pi.hThread);
- std::println("Il controllo e` tornato al processo principale!");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment