|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.04.2024, 21:51 | #1 |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 653
|
Подмена нажатия кнопок
Недавно скачал "X-Mouse Button Control"
И возник вопрос: а как самостоятельно сделать программу, которая бы перехватывала нажатие и подменяла его? Конкретно что меня интересует - чтобы программа подменяла нажатие боковой кнопки на нажатие шифта. При чем, не зависимо от того, какая форма активна И чтобы пока зажата боковая - программа считала шифт нажатым. Последний раз редактировалось Kronos913; 12.04.2024 в 21:56. |
13.04.2024, 12:33 | #2 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,834
|
глобальный хук на всю систему надо ставить. он отлавливает событие нажатия клавиши и заменяет его другим кодом. типа, нажимаешь пробел, а тебе ставит букву А.
------ где-то тут на форуме это было. один из шагов - это скомпилировать библиотеку Hook.dll, чтоб потом его ставить и удалять из системы. Код:
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
Последний раз редактировалось NetSpace; 13.04.2024 в 12:38. |
13.04.2024, 12:41 | #3 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,834
|
потом в своём модуле подключаешь этот DLL
Код:
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
13.04.2024, 12:43 | #4 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,834
|
и уже сам решаешь, где и как будешь ставить его и удалять. в примере как раз при создании формы и при её уничтжении. но можешь сделать и по нажатию кнопок...
Код:
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
13.04.2024, 12:50 | #5 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,834
|
делал на основе этого хука файловый менеджер, по принципу двух окон, как FAR или TotalCommander, но за основу брал два окна проводника. что-то доделал, что-то не стал - переключился на другой проект, более важный на тот момент.
там можешь много чего удалить лишнего и из папки, и из самого кода. но он рабочий благодаря хуку. TAB - переключение между окнами F7 -создать папку DEL - удалить объект. и т.д. - надписи на кнопках расскажут.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
Последний раз редактировалось NetSpace; 13.04.2024 в 13:05. |
13.04.2024, 22:12 | #7 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,834
|
не знаю, не пробовал такое сварганить. попробуйте перенести код DLL в тело своей программы.
------------ ну, если дело принципа, чтоб не таскать за приложением посторонние файлы (тоже такое люблю), то поместите его в файл ресурса и извлекайте по мере надобности, а при закрытии - удаляйте.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
14.04.2024, 15:31 | #8 | ||
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,834
|
Цитата:
Цитата:
|
||
14.04.2024, 16:14 | #9 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,834
|
посмотрите мой первый комментарий там в коде DLL есть эта функция.
-------------- локальный хук отслеживает только те события, которые происходят только в одной программе (или потоке). глобальный хук отслеживает события во всей системе (во всех потоках). оба типа хуков устанавливаются одинаково, однако единственно отличие заключается в том, что локальная ловушка вызывается в пределах вашего приложения, в то время как глобальный хук необходимо хранить и вызывать из отдельной DLL. ------------ автору надо, чтоб работало не зависимо от того, какая форма активна -значит, надо делать глобальный хук. DLL+ своя программа отдельно, а не в одном проекте. ----------- вот, чего ты такой вредный, Vapppmies?! это вообще за всю мою историю мучания Delphi единственная DLL, которую я делал аж 4 года назад - уже и забыл все тонкости. короче, я ему дал рабочий код, а нерабочий он сможет из него сделать сам, когда сделает всё в одном проекте.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
Последний раз редактировалось NetSpace; 14.04.2024 в 16:25. |
14.04.2024, 22:53 | #10 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,834
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сообщения нажатия кнопок | decantnik | Win Api | 2 | 12.04.2012 19:23 |
Обработка нажатия кнопок мыши | turbovitalik | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 12.09.2011 08:49 |
Эмуляция нажатия кнопок!!(по таймеру!!) | Танкист | Win Api | 11 | 01.03.2010 08:46 |
Перехват нажатия кнопок мыши | DarkEvil | Win Api | 7 | 15.06.2009 22:38 |