![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Ergoz |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 3.6.2009 Где: Россия Репутация: нет Всего: нет |
Приветствую всех. Хочу написать одну программку, но не могу разобраться как реализовать один момент.
Допустим есть 2 юсб мышки, лазерных. Которые если чуть двинул лазер загорается сильнее, через некоторое время тухнет. Так вот вопрос, как можно перехватить загорание и выключение лазера в одной мышке? Нужно отлавливать только какую то определённую мышь.. Я предполагаю что это может быть можно как то через SetWindowsHookEx(WH_MOUSE, @HookProc, HInstance,0) ; Но я не знаю что именно перехватывать.. где искать материалы по возможностям перехвата таких вещей.. Нужно только загорание лазера отловить и всё... И моя программка будет закончена. п.с. Движение мышки не предлагать! проставлюсь пивом если поможете! |
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: нет Всего: 54 |
в мыши нет лазера
Вряд ли мышь информирует систему о загорании "лазера" -------------------- Кольцов Виктор Владимирович |
|||
|
||||
Ergoz |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 3.6.2009 Где: Россия Репутация: нет Всего: нет |
ну да, я имел ввиду светодиод этот красный, как определить програмно что он включился и выключился???
ну не думаю я что это на самой плате пропечатано в микроконтроллере... я уверен что как нибудь это сделать можно... Это сообщение отредактировал(а) Ergoz - 30.8.2010, 21:08 |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Никак. Эта информация не выходит за пределы мыши. Мышь обменивается с системой только пакетами данных со смещениями и нажатыми кнопками. Резона ей передавать, когда там у неё включается подсветка, как несложно догадаться - никакого.
Но вы можете угадать. Типа, через полторы секунды после последнего движения мыши. Но смысл? У одной мыши полторы, у другой две, а третья и вовсе лазерная - у неё подсветки нету. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
Ergoz |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 3.6.2009 Где: Россия Репутация: нет Всего: нет |
просто делаю лазерную сигнализацию, как описано в этой статье: _http://www.delphiexpert.ru/view_lesson.php?id=74
но не могу придумать как сделать так чтоб можно было поставить сигналку, и в это же время спокойно работать за тем же помпьютером, а ставить отдельный серв под это нет возможности.. может вы подкините идей? Может можно как то заблокировать одну только мышку на дивжение, но обрабатывать команды, опять же только с неё? Не могу понять как именно нужную мышку определить.. |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Упал. Под стол.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
casinosoftguru |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.12.2008 Репутация: нет Всего: нет |
попробуй поискать какой нибудь usb monitor и отловить сигнал который выдает мышь если в ее "лазер" светить указкой как в видеопримере.. именно на нужном тебе порту. в идеале - придется перепаять устройство - выкинуть все ненужное из конструкции мыши и написать свой драйвер
![]() автор видеоурока использовал делфи чтобы событие отловить именно движения над кнопкой.. а к событию загорелся\потух "лазер" у мыши надо подходить имхо с другой стороны Это сообщение отредактировал(а) casinosoftguru - 31.8.2010, 16:10 |
|||
|
||||
Ergoz |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 3.6.2009 Где: Россия Репутация: нет Всего: нет |
ну это да) но хотелось чтоб меньше геморроя было)))
|
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Меньше геморроя? Купите конструктор Лего со светодатчиками - получится в разы проще и (что главное) функциональнее.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
Mikel |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: нет Всего: 2 |
Мышка о переключении яркости светодиода сообщать не будет- это фишка самой мыши, экономия энергии. Если б можно было измерять ток соответствующего USB порта, то можно было бы и определить когда он включается ярче. Но во-первых, ток не измеряется, а есть только порог срабатывания превышения тока потребления, а во-вторых, если бы даже и измерялось, будет некорректно срабатывать при подключении еще одного устройства.
-------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
Ergoz |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 3.6.2009 Где: Россия Репутация: нет Всего: нет |
хорошо, тогда скажите, реально ли отследить определённую мыш, как именно определённую мышку найти, и сделать так что именно если она послала сигнал о перемещении то тогда выполнить определённый код, но блокировать от этой мышки все перемещения? но чтоб вторая мыш в это время спокойно работала и программа на неё никак не реагировала?
|
|||
|
||||
Mikel |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: нет Всего: 2 |
Посмотрел первый ролик- изврат
![]() А вообще попробуй так- выдирай фотоэлемент из мыши, подключаешь последовательно через резистор (значение подбирается эмпирически ![]() Да, резистор ставь хотя бы 500 Ом. Если реакции от его подключения и свечения указкой не будет, уменьшай. Это сообщение отредактировал(а) Mikel - 2.9.2010, 08:57 -------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Писать драйвер мыши или драйвер-фильтр. Не для вашего уровня. Купите себе лего и успокойтесь. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
v1m |
|
|||
v1mka Профиль Группа: Участник Сообщений: 15 Регистрация: 10.6.2010 Репутация: 1 Всего: 1 |
да он же там не смотрит загорается или нет(до конца не досмотрел) он смотрит сместился ли курсор. |
|||
|
||||
Ergoz |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 3.6.2009 Где: Россия Репутация: нет Всего: нет |
в том то и дело, а я хочу сделать иначе) вот и спрашиваю. с перемещением курсора любой может сделать))
А разве нельзя хукнуть определённую мышь? или хукается сразу всё? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |