|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API - WinAPi приложение поверх всех окон |
|
Win32 API - WinAPi приложение поверх всех окон
|
Ветеран Сообщения: 878 |
Простой вопрос.
необходимо открыть приложение(например "pr1.exe") со "свойством" AlwaysOnTop(ну воерх всех окон т.е.) а потом по желанию закрыть. И если есть возможность(не обязательно) отловить, когда это приложение станет не активным и так же закрыть.... WinAPI & C++.... |
|
Отправлено: 18:01, 11-06-2006 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Есть на этот случай полезная функция WaitForInputIdle.
PROCESS_INFORMATION pi; if (CreateProcess(..., &pi) && WaitForInputIdle(pi.dwProcessId, 5000)==0) // можно INFINITE, но лучше забить, если долго не получается { Sleep(100); // для надёжности, но можно не делать ... // здесь мучаешь эту прогу } else { // отчёт об ошибках, смотришь GetLastError() } |
Отправлено: 09:04, 24-06-2006 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать Здраствуйте. Давно интересовался данной опцией. Помогите пожалуйста с исходным кодом. Итак у меня код вида:
Требуется сделать так: если отметить чекбокс, то окно приложения станет поверх остальных. Если убрать галочку - то все наоборот. Дайте пример пожалуйста. Заранее спасибо. |
Отправлено: 23:15, 05-07-2007 | #12 |
![]() Обратный инженер Сообщения: 644
|
Профиль | Отправить PM | Цитировать Цитата:
![]() На каком языке-то требуется?? В любом случае это можно сделать с помощью функции SetWindowPos,передавая ей в качестве второго параметра флаг HWND_TOPMOST или HWND_BOTTOM, т.е. поверх или поднизом всех окон. И потом добавить в WindowProc приложения фильтрацию сообщений WM_COMMAND, чтобы отловить момент установки/снятия т.н. флажка. Могу написать пробный код(просто самому интересно), но на ассемблере. |
|
------- Отправлено: 02:18, 06-07-2007 | #13 |
Ветеран Сообщения: 1837
|
Профиль | Отправить PM | Цитировать DillerInc
Цитата:
|
|
Отправлено: 08:54, 06-07-2007 | #14 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать А...
![]() var Inst, HWND : integer; procedure WindowOnTop; begin HWND := FindWindow(nil, 'APP_NAME'); SetWindowPos(HWND, HWND_TOPMOST, 0,0,0,0, SWP_NOMOVE or SWP_NOSIZE or SWP_SHOWWINDOW); end; ![]() Вообщем помогите кто чем может. ![]() |
Отправлено: 09:34, 06-07-2007 | #15 |
![]() Обратный инженер Сообщения: 644
|
Профиль | Отправить PM | Цитировать Maksim V
В общем,прикрепляю небольшой исходник со скомпилированной программкой на облегчённых Дельфях. Облегчённые Дельфи -- это полный отказ от VCL, т.е. использование только WinAPI.Основной плюс -- минимальный(для Дельфи) размер выходного исполняемого файла. В общем,изучай исходник. Цитата:
P.S. Если что,то я уже давно не пишу на Дельфи.Могут быть некоторые несуразности. P.P.S. Assembler forever!! |
|
------- Отправлено: 13:50, 06-07-2007 | #16 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать Спасибо.
![]() ![]() Да, кстати, дайте пожалуйста код для меню. Как в Диспетчере задач - отмечаешь галочкой пункт меню и окно поверх других окон. Желательно приаттачтьте исходник. |
Последний раз редактировалось Maksim V, 09-07-2007 в 21:14. Отправлено: 22:37, 06-07-2007 | #17 |
![]() Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Всем привет. У меня возникает такая сложность. Использую VB 6.0.
Моя форма как и должно быть становиться поверх других окон, но не поверх панели быстрого запуска. Т. е. если форма находиться в открытом состоянии на панели быстрого запуска, то при клике на саму панель, форма прячется под эту самую панель. Что можно сделать? |
Отправлено: 17:56, 15-03-2012 | #18 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Новичок_Андрей:
|
|
------- Отправлено: 18:39, 15-03-2012 | #19 |
![]() Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Цитата Drongo:
![]() |
|
Отправлено: 18:55, 15-03-2012 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|