Как выдвинуть окно другого процесса на передний план?
От: Gaxis  
Дата: 16.04.21 16:03
Оценка:
Пробовал так делать но не работает.
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);
Отредактировано 16.04.2021 17:25 Gaxis . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.