|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API - WinAPi приложение поверх всех окон |
|
|
Win32 API - WinAPi приложение поверх всех окон
|
Ветеран Сообщения: 878 |
Простой вопрос.
необходимо открыть приложение(например "pr1.exe") со "свойством" AlwaysOnTop(ну воерх всех окон т.е.) а потом по желанию закрыть. И если есть возможность(не обязательно) отловить, когда это приложение станет не активным и так же закрыть.... WinAPI & C++.... |
|
Отправлено: 18:01, 11-06-2006 |
![]() Обратный инженер Сообщения: 644
|
Профиль | Отправить PM | Цитировать XCodeR
Код на С++ привести не могу,но принцип будет такой,что главное окно приложения создаёшь функцией CreateWindowEx и в качестве первого параметра передаёшь ей стиль WS_EX_TOPMOST. А если уничтожить,то тогда DestroyWindow. А отлавливать неактивность окна можно анализируя сообщения в оконной функции(WindowProc) твоего приложения.В данном случае нас будет интересовать сообщение WM_ENABLE. |
Последний раз редактировалось DillerInc, 14-06-2006 в 21:05. Отправлено: 01:48, 14-06-2006 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Нас интересует WM_ACTIVATE (если речь идёт о переключении Alt+Tab). Ещё можно SetWindowPos(hwnd, HWND_TOPMOST, ....);
|
Отправлено: 18:58, 15-06-2006 | #3 |
![]() Обратный инженер Сообщения: 644
|
Профиль | Отправить PM | Цитировать pva
Тогда уж WM_ACTIVATEAPP. |
------- Отправлено: 19:51, 15-06-2006 | #4 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Согласен
|
|
Отправлено: 17:02, 16-06-2006 | #5 |
Ветеран Сообщения: 878
|
Профиль | Сайт | Отправить PM | Цитировать Цитата:
Например функцией CreateProcess. Но там я не нашел, где можно поставить свойство alwaysontop.... |
|
Отправлено: 08:46, 19-06-2006 | #6 |
![]() Обратный инженер Сообщения: 644
|
Профиль | Отправить PM | Цитировать XCodeR
Откуда вы товарищ вообще взяли этот "alwaysontop"?? Если речь идёт о чужом приложении,то тогда запускайте его,находите его главное окно(FindWindow) и используйте функцию SetWindowPos с параметром HWND_TOPMOST(как предложил pva). |
------- Отправлено: 01:33, 20-06-2006 | #7 |
Ветеран Сообщения: 878
|
Профиль | Сайт | Отправить PM | Цитировать фактически получилось, но вот проблема, программа("внешняя") открывается через какое-то время, а => её не найти с помощью FindWindow.
Может можно как-нибудь сделать таймер ожидания?... или взять хендл приложения(окна) сразу после выхова CreateProcess... пора взяться с WinApi....(((( *с = за |
Отправлено: 22:18, 23-06-2006 | #8 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать Запуститься и тупо каждые 0.5 секунды искать требуемое окно? Небольшой лаг, но очень просто. Сложнее - перехватить CreateProcess или CreateWindow(Ex). Или поставить хук на WH_SHELL и ловить HSHELL_WINDOWCREATED. Но по моему, это гораздо муторнее и совсем не нужно.
|
------- Отправлено: 22:25, 23-06-2006 | #9 |
![]() Обратный инженер Сообщения: 644
|
Профиль | Отправить PM | Цитировать Цитата:
|
|
------- Отправлено: 01:11, 24-06-2006 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - Некоторые проблемы с установкой нашей программы поверх всех окон | crashtuak | Программирование и базы данных | 3 | 31-12-2009 00:32 | |
Порно-баннер поверх всех окон | NukeReACTOR | Лечение систем от вредоносных программ | 12 | 17-11-2009 20:21 | |
Интерфейс - [решено] Как сделать любую программу "поверх всех окон"? | DesignerMix | Microsoft Windows 7 | 3 | 24-10-2009 13:17 | |
C/C++ - [C++Builder 2007] Две формы поверх всех окон и одна форма поверх другой | crashtuak | Программирование и базы данных | 3 | 13-04-2009 16:33 | |
Установка XP поверх XP с сохранением всех настроек. | cordlesspass | Microsoft Windows 2000/XP | 6 | 30-12-2004 13:14 |
|