Форум программистов, компьютерный форум, киберфорум
Программирование драйверов
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
4 / 4 / 4
Регистрация: 04.05.2014
Сообщений: 287

Можно ли отправлять через DeviceIOControl команды мышке?

17.07.2014, 05:59. Показов 3955. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос в том, можно ли эмулировать движения и клики мышью, без фильтр драйвера, и тем более без API функций? И желательно чтобы это была любая мышь, а не только PS/2 или USB. И в любом случае USB предпочтительней.

нашел IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER, смущает то что это только PS/2 правда даже если и так то все равно еще не понял, оно это или нет. структуру передаваемых данных не нашел (

или можно что то писать с помощью библиотек типа libusb и чтобы это воспринималось драйвером, как сигнал от мышки? Когда я смотрел, то команды библиотеки предполагают записать чего то в буфер и отправить в устройство, но мне то нужно отправить в драйвер как то...

куда копать? и есть ли у этого перспектива?)

Добавлено через 6 минут
но Parameters.DeviceIoControl.Type3InputBuf fer points to a client-allocated buffer that supplies the data to write to an i8042 port controller.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.07.2014, 05:59
Ответы с готовыми решениями:

Используя программу, отправлять через интернет команды в кокой-либо форме на выполнение той или иной задачи
Здравствуйте! Дано : 1. Ноутбук, который работает дома и подключон к интернету 2. Телефон(Android), на котором стоит...

Можно ли отправлять сообщения через протокол ICQ
Можно ли отправлять сообщения через протокол ICQ?

Как можно принимать и отправлять почту через JSP?
Как можно принимать и отправлять почту через JSP? Желательно с вложениями

27
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
18.07.2014, 16:02
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Shakielpel Посмотреть сообщение
ну или хотя бы на С )
ida+hex-rays.
а вообще, вам жеж не точный алгоритм нужен, а так, посмотреть просто примерно, что за функции, как они в нулевое кольцо входят, и входят ли вообще... если честно, плохо себе представляю как вы сможете поработать в режиме ядра без хотябы минимальных знаний ассемблера... в конце концов, тот же stdcall от cdecl-а, чем отличается, я думаю, что это достаточно важный момент.
проблема в том, что ошибки могут быть сразу не видны, любое деление на 0, и синий экран. я уж молчу про всякие разные проблемы со стеком и памятью, когда вдруг через пару часов работы окажется, что что-то вы не туда записали, и какая-то программа затирается. поэтому, даже если у вас все заработает, это совсем не означает что оно будет работать везде и всегда, особенно если вы сами, без достаточно уверенной подготовки на низком уровне, будете писать этот код.
а если ж вы для себя пишите, то вам, наверное, интересно во всем разобраться, вот в таком случае, я смогу вам помочь, по скайпу, например. не по этому, так по другому вопросу, я просто сам занимаюсь чем-то подобным (автоматизация+тестирование ПО), и мне кажется, все же, многое могу рассказать, или, по крайней мере, подтолкнуть к идее решения вашей задачи.
0
4 / 4 / 4
Регистрация: 04.05.2014
Сообщений: 287
18.07.2014, 16:10  [ТС]
Byte D7 D6 D5 D4 D3 D2 D1 D0 Comment
1 Yover Xover Ysign Xsign Tag M R L X/Y overvlows and signs, buttons
2 X7 X6 X5 X4 X3 X2 X1 X0 X data byte
3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 Y data bytes
Вот что мне так и осталось непонятным
как в порт засунуть 3 байта последовательно?

WRITE_PORT_UCHAR((PUCHAR)0x64,0xd3);
while(READ_PORT_UCHAR((PUCHAR)0x64)&2);

WRITE_PORT_UCHAR((PUCHAR)0x60,(UCHAR)ska ncod);
тут отправляется команда запись в выходной буфер, и после получения сообщения о том, что оно готово принимать, отправляется фактически первый байт из верхней структуры, но в первом байте есть только инфа о состоянии кнопок мыши, а о движении во втором и третьем, НО как их туда послать? тут же следом что ли вызывать
WRITE_PORT_UCHAR((PUCHAR)0x60,(UCHAR)бай т2),WRITE_PORT_UCHAR((PUCHAR)0x60,(UCHAR )байт3)?
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
18.07.2014, 16:24
ну, там есть не только WRITE_CHAR, но и WRITE_SHORT, WRITE_DWORD (или как там его, короче 4 байта), и READ_* такие же. можете через них попробовать. или же в спецификации должно быть укзано, как обращаться к последовательности байтов.
0
4 / 4 / 4
Регистрация: 04.05.2014
Сообщений: 287
18.07.2014, 22:55  [ТС]
не, я полагаю что буфер рассчитан на прием 1 байта в 1 момент. т.е. отослать больше не проблема, проблема в том как отослать чтобы порт клавиатуры ps/2 это правильно понял

Добавлено через 5 часов 27 минут
разобрался с винИО, поглядел исходники и поправил стыренные исходники по его использованию. Понял кажется как слать 3 байта. Но осталась одна проблема - ничего не работает )

Добавлено через 45 минут
блииин, если записать что угодно в 64 или ничего не записать, то обратно читает 1С, если в 60 что угодно записать, то в 64 читаем 14, а в 60 всегда D3, что за бред, таких значений ни в одном справочнике нет ) и да пс/2 устройств реальных у меня нет вообще (
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
18.07.2014, 23:12
Цитата Сообщение от Shakielpel Посмотреть сообщение
да пс/2 устройств реальных у меня нет вообще
как раз таки, как я понимаю, вам и нужно его сделать. правда, не реальное, а типа виртуальное. раз уж вы с этой стороны решили зайти. и тогда, должно быть наоборот, это операционка должна обращаться к портам, которые вы там насоздаете.
хотя, может я и не прав. но в любом случае, у вас должен быть в первую очередь ман по hal винды, нежели по ps/2 или юсб, или еще чему-нибудь такому. поэтому, если честно, мне вообще непонятно, что вы там пытаетесь сделать

а то, что обращения к портам, физически к которым ничего не подключено, выдают странную ересь, это должно быть нормально. например, обращения к несуществующим ячейкам памяти тоже выдают чушь. так, кстати, определяют реальный объем оперативной памяти но это так, к слову
0
4 / 4 / 4
Регистрация: 04.05.2014
Сообщений: 287
18.07.2014, 23:23  [ТС]
как заставить комп думать, что пс/2 мышь подключена, если ее нет?
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
18.07.2014, 23:25
хм. ну не знаю. может, написать драйвер, не?
0
4 / 4 / 4
Регистрация: 04.05.2014
Сообщений: 287
18.07.2014, 23:28  [ТС]
приехали )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.07.2014, 23:28

Как Можно Автоматически Ежедневно Отправлять Файл Через Лотус?
Привет всем! У меня ежедневно создается xml файл в директорию С:/send, хочу чтобы автоматически этот файл ежедневно отправлялся через...

Через DeviceIoControl отправляется не то сообщение
Добрый день, уважаемые форумчане! Такой вопрос: /*заголовки*/ #define TOC_DATA_TRACK 0x04 HANDLE dir_handle; ...

ICS - Как отправлять команды с WsocketServer
кто нибудь пользовался этой библиотекой?хотел создать промежуточный сервер ,как отправлять команды с WsocketServer `а не очень разбираюсь с...

Отправка устройству информации через DeviceIoControl
Теперь пытаюсь разобраться с DeviceIoControl. В прошлой программе с помощью SetupDiGetDeviceInterfaceDetail нашел символьную ссылку на...

Можно ли подключить mac mini к монитору, клавиатуре и мышке не от Apple?
Можно ли подключить mac mini к монитору, клавиатуре и мышке не от Apple?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru