Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Работа с клавиатурой


Автор: Kirgston 12.10.2008, 18:11
Всем доброго времени суток! Вот мне надо щас написать программу которая бы эээ.... ну например я убираю фокус с моей программы и запускаю любую другую программу, но если я нажму некоторое сочетании клавиш на клавиатуре то моя программа начнёт делать то что я в неё записал smile как такое можно реализовать?

Автор: mr.Anderson 12.10.2008, 18:24
Kirgston, перегрузить процедуру AppMsg и запихать в нее реакцию на нажатие определенных клавиш. Тогда сработает. Главное, чтоб программа твоя была запущена (висела на экране, в трее, в процессах - да неважно где, главное чтоб запущена была). По перегрузке этой процедуры - это в гугл, там есть.

Автор: Kirgston 14.10.2008, 22:38
Ну как я смотрел то что вы дали - утилита о_О.

Скажите пожалуйста как зделано в программе? С помощью чего? Если я нажимаю на стрл+ф5 и независимо или фокус на программе то программа начинает работать. Как такое сделать? smile БОЛЬШОЕ СПАСИБО!

Автор: Kirgston 15.10.2008, 17:28
 smile 

Автор: mr.Anderson 15.10.2008, 18:17
Kirgston, написал. Я соврал, AppMsg не поможет. Надо хук ставить. Все в примере.

Автор: Kirgston 15.10.2008, 21:39
А можна ещо UMain.pas ?  smile 

Автор: Kirgston 17.10.2008, 08:22
 smile 

Автор: mr.Anderson 18.10.2008, 17:45
А его разве там не было? А ну, я скачаю...

Добавлено через 47 секунд
Ой... точно... Странно. Мои извинения! Сегодня выложу нормальный архив...

Автор: Kirgston 18.10.2008, 17:56
Да ничего ;) это мои извинения ;)

Автор: mr.Anderson 18.10.2008, 19:53
Стоп... Спутали вы меня... smile Там есть файл проекта, больше ничего не надо, консольный проект только файл проекта и содержит.

Автор: Kirgston 18.10.2008, 21:45
http://s60.radikal.ru/i169/0810/44/d116885ebc08.jpg

Автор: mr.Anderson 19.10.2008, 19:44
Kirgston, это вообще что? Проект консольный. Не тот, который при запуске создается, а консольный. Запусти свою Делфи, File -> Close, затем открой тот проект, что в архиве (файл проекта).

Автор: THandle 19.10.2008, 19:48
Цитата(mr.Anderson @  15.10.2008,  19:17 Найти цитируемый пост)
Kirgston, написал. Я соврал, AppMsg не поможет. Надо хук ставить. Все в примере. 


Что то ничего я там не нашел никакого решения.
Вы тут вообще что обсуждаете?  smile 

Автор: mr.Anderson 19.10.2008, 19:51
Блин... Дикие извинения. Ща переделаю.

Автор: mr.Anderson 19.10.2008, 20:48
Вот. Вообще, лучше делать через DLL. В примере без этого.

Автор: Shuleshkin 22.10.2008, 18:00
Можно создать системную горячую клавишу.
смотри http://delphiworld.narod.ru/base/sys_hotkey.html

Добавлено через 1 минуту и 36 секунд
или http://delphiworld.narod.ru/base/add_shortcuts.html

Автор: Kirgston 24.10.2008, 12:15
о! Всем огромное спасибо! С меня причитается ;) ребята. А вот например в коде представленном мр.Андерсоном там как программа видит нажатое сочетание кнопок? Ага нашёл smile но вопросик. А как тогда сделать сочетание клавиш? Например Ctr+D?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)