Окно Install-Shield не появляется сверху при запуске через функцию ShellExecuteEx

Я пытаюсь запустить setup.exe, который сделан через install-shield с помощью приведенного ниже кода

DWORD ChildProcess(LPCSTR exePath, LPCSTR lpCmdLine ,BOOL showDialog, char* workingDir, BOOL bParentWait )
{
CWnd * handle = AfxGetMainWnd (); //handle to the main dialog box of mfc application
DWORD dwExitCode = -1;
SHELLEXECUTEINFO ShExecInfo = {0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.lpVerb = "open";
ShExecInfo.lpFile = exePath; //setup.exe path, installer exe

if(bParentWait)
{
ShExecInfo.lpParameters =   lpCmdLine;
ShExecInfo.nShow = SW_MINIMIZE;
}
else
{
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.lpParameters =   NULL;
}
ShExecInfo.lpDirectory = workingDir;

ShExecInfo.hInstApp = NULL;
if (ShellExecuteEx(&ShExecInfo))
{
if(bParentWait)
{

handle->ShowWindow(SW_MINIMIZE);
WaitForSingleObject(ShExecInfo.hProcess,INFINITE);
if(showDialog){
handle->ShowWindow(SW_RESTORE);
}
GetExitCodeProcess(ShExecInfo.hProcess, &dwExitCode);

}
else
{
CloseHandle(ShExecInfo.hProcess);
dwExitCode = 0;
}
}

return dwExitCode;
}

Проблема в том, что запущенное окно установки не появляется сверху. Любая помощь будет принята с благодарностью.

Спасибо

0

Решение

Я считаю, что проблема у вас есть, потому что setup.exe порождает другой процесс, который выполняет последовательность UI (и, следовательно, показывает окна).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]