![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| suseway |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 25.2.2010 Репутация: нет Всего: нет |
Хочу создать небольшую программу, которая бы висела в трее, и по назначенной горячей клавише сворачивала бы активное окно на экране.
Какое средство разработки выбрать для этого и с чего начать, где загрузить? (ориентируюсь на visual c++) |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 1 Всего: 44 |
Win+D не подходит?
если писать то тебе нужно 1. при старте твоего приложения запихать его в трей и убрать из таск бара 2. определить глобальный хук на клаву и привязать обработчик 3. в обработчике нужно: найти активное окно и послать ему сообщение "свернуться" вот и весь алкоритмалгоритм |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 6 Всего: 135 |
![]() хотя это похвальное желание разобраться самому. По поводу средств разработки посмотри в строрну QT + студия на windows или qt-creator под все (условно все -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| suseway |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 25.2.2010 Репутация: нет Всего: нет |
Возможно ли написание такой программулины на QT в среде под Linux, но чтобы работало на Windows? Если да, то какая среда для этого нужна и с чего начать? |
|||
|
||||
| suseway |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 25.2.2010 Репутация: нет Всего: нет |
Пока имею вот это:
При выполнении этого кода происходит сворачивание активного окна [UPD]:: Есть вопросы: 1. Как сделать, чтобы после запуска программулины она сворачивала бы активное окно по нажатию на клавишу. 2. И еще, чтобы сама программулина висела в памяти (не закрывалась) Это сообщение отредактировал(а) suseway - 26.2.2010, 00:12 |
|||
|
||||
| suseway |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 25.2.2010 Репутация: нет Всего: нет |
Вроде бы решил пока вот так:
Это сообщение отредактировал(а) suseway - 26.2.2010, 02:27 |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 1 Всего: 44 |
||||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 6 Всего: 135 |
chaos,
1. 2. 3. Кросс, конечно, не получится, но использовать winAPI или MFC - IMHO есть головная боль -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 7 Всего: 459 |
ИМХО хук нужен только когда нужно запретить передачу событий от клавиатуры, или изменить одни клавиши на другие. Если просто узнать о нажатии клавиш, то есть более экономичное и менее системное решение RegisterHotKey / UnregisterHotKey (глобальный хоткей)
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 1 Всего: 44 |
"пища" для ума
много тут головной боли? Это сообщение отредактировал(а) chaos - 26.2.2010, 11:44 |
|||
|
||||
| suseway |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 25.2.2010 Репутация: нет Всего: нет |
Да, все работает. а реально ли сделать чтобы сворачивалось не глобально а только в определенном приложении, многооконном?
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 7 Всего: 459 |
suseway, можно перечислять и дочерние окна, но не ясно когда остановиться. Представь что курсор будет над кнопкой
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| suseway |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 25.2.2010 Репутация: нет Всего: нет |
Как я понимаю надо смотреть в сторону FindWindow и FindWindowEx.
А сначала получить имя класса приложения при помощи spy32? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 7 Всего: 459 |
Это дает главное окно. Для навигации по дочерним нужно EnumChildWindows. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| suseway |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 25.2.2010 Репутация: нет Всего: нет |
А с помощью какой утилиты можно узнать имя класса окна? Это сообщение отредактировал(а) suseway - 3.3.2010, 14:06 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |