void RunAppAndWait(char* path)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
si.dwX = 300;
si.dwY = 300;
si.dwXSize = 500;
si.dwYSize = 300;
si.dwFlags = STARTF_USESIZE | STARTF_USEPOSITION; si.wShowWindow = SW_SHOW;
ZeroMemory(&pi, sizeof(pi));
if (!CreateProcess(NULL, path, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) { return; }
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}