Где почитать инструкции о том как выдвинуть окно запущенного процесса на передний план14.04.2021, 16:56. Показов 5111. Ответов 38
Хочу узнать все аспекты которые нужно проделать чтобы выдвинуть на передний план, инструкций ни видел нигде а все функции которые нашёл не работают.
0
|
|
| 14.04.2021, 16:56 | |
|
Ответы с готовыми решениями:
38
Как выдвинуть окно экселя на передний план? Как выдвинуть свою программу на передний план? Как перенести на передний план окно с приложением? |
| 27.04.2021, 05:47 [ТС] | |||||
SetWindowPos, у него же нету дочерних процессов.Я про дочерние процессы открывал тему Покажите пример дочерних и унаследованных процессов и видимо не зря. Всё равно очень много странностей. если я запускаю процесс через CreateProcess значит у меня есть прямой доступ к pid а с помощью EnumWindows я могу найти окно, но это не всегда работает. Привидите пример с кодом как вы выше написали запустите браузер, установите задержку, спрячьте его на задний план и посмотрите как функция выведет его поверх всех окон.Добавлено через 23 секунды Одновременно сообщения написали. Добавлено через 22 минуты Добавлено через 5 минут Упоминается что-то про стили WS_VISIBLE в функции IsWindowVisible https://docs.microsoft.com/en-... dowvisibleДобавлено через 4 часа 26 минут Добавлено через 13 минут
0
|
|||||
|
844 / 353 / 68
Регистрация: 20.11.2012
Сообщений: 852
|
|||||||||||||
| 27.04.2021, 08:37 | |||||||||||||
Найти все дочерние PID виду несколько вариантов: 1. CreateToolhelp32Snapshot /Process32First. Делать снэпшот и выстраивать иерархию по данным в структуре PROCESSENTRY32, а именно поле th32ParentProcessID. 2. Похожий вариант - находить по PID путь к образу исполняемого файла и строить иерархию по времени создания процесса. Скорее всего последний созданный и есть нужный. 3. Разбираться с Nested Jobs и ловить в IO порт сообщение о создании нового процесса в задании.
0
|
|||||||||||||
| 27.04.2021, 16:59 [ТС] | |||||||||
CreateProcess, я естественно не фига не понял и бросил затею оказывается это довольно трудоёмкая задача.У меня вчера перестали работать
Возникает ещё вопрос а почему по Pid от CreateProcess моя EnumWindows находит правильный дескриптор окна, я проверял этот дескриптор в Spy++ 64 он совпадает но при этом управление всё же теряется, может это связано с тем что Хэндл ещё продолжает действовать поэтому и окно находит?
0
|
|||||||||
|
844 / 353 / 68
Регистрация: 20.11.2012
Сообщений: 852
|
||||||
| 27.04.2021, 18:10 | ||||||
|
0
|
||||||
| 27.04.2021, 18:39 [ТС] | ||
|
А у меня совпадает вот скрины.
0
|
||
|
844 / 353 / 68
Регистрация: 20.11.2012
Сообщений: 852
|
||||||
| 27.04.2021, 20:31 | ||||||
|
Попробуй это. На chrome, firefox и паре других приложений работает.
1
|
||||||
| 02.05.2021, 21:31 [ТС] | |||||||
CreateProcessA. Последние 2 блока находят кучу и Хэндл но он там какой-то левый либо нашёл не правильно.
0
|
|||||||
|
844 / 353 / 68
Регистрация: 20.11.2012
Сообщений: 852
|
|||||||
| 03.05.2021, 08:18 | |||||||
|
GetLastError хотя бы после вызова "сбоящей" функции вызови.
0
|
|||||||
| 03.05.2021, 21:39 [ТС] | ||||||||||||||
CreateProcessAДобавлено через 3 минуты
Но процесс завершается, я не знаю насколько это опасно, поэтому я не вызываю GetLastError, потому что в нормальном коде он не нуженДобавлено через 1 минуту а в том коде который отлаживается он нужен, но как я и писал выше что с этой ошибкой делать я без понятия. Добавлено через 35 минут
0
|
||||||||||||||
|
Модератор
|
|||||||
| 05.05.2021, 21:10 | |||||||
GetLastError() никогда не помешает, но не всегда это повод беспокоить пользователя.
0
|
|||||||
| 05.05.2021, 21:44 [ТС] | ||
|
Например что делать с ошибкой 5ть, ответ ничего. Возникает вопрос зачем же её проверять и увиличивать объём кода программы который не несёт пользы. Полезно только в отладке.
0
|
||
|
Модератор
|
|
| 06.05.2021, 09:23 | |
GetExitCodeProcess() , TerminateProcess() и т.д. может установить ненулевой SetLastError() по независящим причинам от корректного кода, который их пытается вызвать.Например, процесс уже корректно завершился "сам" с помощью ExitProcess(), процесс завершила другая программа с помощью TerminateProcess(), система завершила работу, один из потоков процесса находится в состоянии, которое невозможно прервать в обозримое время, в очередном обновлении исправлена ошибка в системной программе, из-за которой раньше операция "выполнялась" успешно, хотя не должна была и т.п.Если не проверять результаты работы функций, то программа иногда будет работать, иногда не будет, и Вы об этом, возможно, даже не узнаете, если программа выполняется без присмотра оператора.
0
|
|
| 09.05.2021, 20:28 [ТС] | ||
|
1. Программист должен знать природу ошибки и конечно устранить её. В моём случае даже нулевая ошибка не помогла решить проблему пока один из пользователь не написал что процесс умирает и как оказалось не только он. 2. Программист должен проверить правильность своего кода и выпустить программу тогда когда она полностью стабильна, если она стабильна использование поиска ошибки ничего не меняет. Получается замкнутый цикл, если ошибка есть, программа не стабильна, если её нет код работает нормально и в любом случае нагрузка ложится на программиста разработчика и голова болит у него а не у тех кто нахимичил чёрт знает что. У меня коды либо работаю либо нет, 3ьего варианта такого как GetLastError у меня просто не существует, ещё не разу за 6 лет он мне не помог.
0
|
||
| 06.06.2021, 02:30 [ТС] | ||
Сообщение было отмечено politoto как решение
Решение
1
|
||
| 06.06.2021, 02:30 | |
|
Как сделать окно активным и вывести его на передний план Как максимизировать чужое окно без вывода его на передний план? Окно на передний план Окно на передний план Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|