Radek ChalupaČlánkyUkázky kóduTipy a trikyAktualityŠkolení a konzultaceVývoj softwareFreewareKontakt

Spuštění procesu ve Windows s čekáním na jeho ukončení.

#include <stdio.h>
#include <windows.h>
#include <locale.h>
#include <assert.h>

int main()
{
	_wsetlocale(LC_ALL, L"Czech");
	DWORD exit_kod;
	STARTUPINFO si;
	PROCESS_INFORMATION pi;
	memset(&si, 0, sizeof(si));
	memset(&pi, 0, sizeof(pi));
	si.dwFlags = STARTF_USESHOWWINDOW;
	si.wShowWindow = SW_SHOW;
	if (CreateProcess(L"c:\\windows\\notepad.exe", nullptr, nullptr,
		nullptr, FALSE, 0, nullptr, nullptr, &si, &pi))
	{
		printf("Proces spuštěn\n");
		WaitForSingleObject(pi.hProcess, INFINITE);
		GetExitCodeProcess(pi.hProcess, &exit_kod);
		printf("Proces ukončen s kódem %d\n", (int)exit_kod);
	}
	else
	{
		printf("\nProces se nepodařilo spustit\n");
	}
	printf("\nhotovo\n");
	getchar();
	return EXIT_SUCCESS;
}

Copyright © 2019 - Radek Chalupa