Информация об изменениях

Сообщение Как выдвинуть окно другого процесса на передний план? от 16.04.2021 16:03

Изменено 16.04.2021 17:25 Gaxis

Как выдвинуть другого процесса на передний план?
Пробовал так делать но не работает.
char*put="C:\\Program Files\\Mozilla Firefox\\firefox.exe";
STARTUPINFOA start_info={sizeof start_info};
PROCESS_INFORMATION proc_info={0};
CreateProcessA(put,0,0,0,0,0,0,0,&start_info,&proc_info);
 Sleep(10000);//для того чтобы приложение загрузилось нормально нужно пока оставить
EnumWindows(EnumWindowsProc,proc_info.dwProcessId);//окно придётся находить
//пробовал подключаться к потокам но тоже не работает
//int iMyTID=GetCurrentThreadId(); ;
//int iCurrTID = GetWindowThreadProcessId(g_HWND,0);
//AttachThreadInput(iMyTID, iCurrTID, TRUE);
//SetForegroundWindow(g_HWND);
//SwitchToThisWindow(g_HWND, TRUE);
//AttachThreadInput(iMyTID, iCurrTID, FALSE);
SetWindowPos(g_HWND,HWND_TOPMOST,400,400,400,400,SWP_SHOWWINDOW);//cout<<<<endl;
DWORD qq_=GetLastError();
char gh;
cin>>gh;cout<<"gh "<<gh<<" код ошибки "<<qq_<<endl;//если убрать эту строку то мы не увидим маленько окно перемещённое на передний план

DWORD ExitCode=0;
GetExitCodeProcess(proc_info.hProcess,&ExitCode);
TerminateProcess(proc_info.hProcess,ExitCode);
CloseHandle(proc_info.hProcess);
Как выдвинуть окно другого процесса на передний план?
Пробовал так делать но не работает.
char*put="C:\\Program Files\\Mozilla Firefox\\firefox.exe";
STARTUPINFOA start_info={sizeof start_info};
PROCESS_INFORMATION proc_info={0};
CreateProcessA(put,0,0,0,0,0,0,0,&start_info,&proc_info);
 Sleep(10000);//для того чтобы приложение загрузилось нормально нужно пока оставить
EnumWindows(EnumWindowsProc,proc_info.dwProcessId);//окно придётся находить
//пробовал подключаться к потокам но тоже не работает
//int iMyTID=GetCurrentThreadId(); ;
//int iCurrTID = GetWindowThreadProcessId(g_HWND,0);
//AttachThreadInput(iMyTID, iCurrTID, TRUE);
//SetForegroundWindow(g_HWND);
//SwitchToThisWindow(g_HWND, TRUE);
//AttachThreadInput(iMyTID, iCurrTID, FALSE);
SetWindowPos(g_HWND,HWND_TOPMOST,400,400,400,400,SWP_SHOWWINDOW);//cout<<<<endl;
DWORD qq_=GetLastError();
char gh;
cin>>gh;cout<<"gh "<<gh<<" код ошибки "<<qq_<<endl;//если убрать эту строку то мы не увидим маленько окно перемещённое на передний план

DWORD ExitCode=0;
GetExitCodeProcess(proc_info.hProcess,&ExitCode);
TerminateProcess(proc_info.hProcess,ExitCode);
CloseHandle(proc_info.hProcess);