Всем привет! На асме не програмлю, но безысходность толкнула меня к вам с просьбой о помощи В общем нужны 2 коротеньких фрагмента кода на асме, которые сделают чего-нить с чем нить на уровне железа. Ваш полет фантазии! Как это будет работать: есть драйвер режима ядра (на с - тут я сам справился). В нем есть след. код: Код (Text): NTSTATUS DeviceControlRoutine(IN PDEVICE_OBJECT fdo, IN PIRP Irp){ ....... switch(ControlCode){ case IOCTL_KB_DISABLE: { tmp = 1; while(tmp){ tmp = _inp(0x64); tmp = tmp & 0x2; } _outp(0x60, 0xED); break; } case IOCTL_KB_ENABLE: { _outp(0x60, 0xFF); break; } case IOCTL_KILL_WINDOWS: { char x = *(char*)0x0L; } default: status = STATUS_INVALID_DEVICE_REQUEST; } ....... } Мои многочисленные эксперименты (с перезагрузками и синими экранами) дали такие результаты для отключения (KB_DISABLE) и включения (KB_ENABLE) клавиатуры. Терь нужно еще чего-нить. Ну мышу отключать и включать к примеру. Или еще как. т.е. кусочек кода, который я вставлю в case в рамках __asm{}. Мне кажется - для тех кто работает на асме это не сложно. Драйвер компилиться под WinXP, 2003Server и Win2000 (Достаточно, чтобы работало под чем-нить ОДНИМ) Сейчас смотрю статью о пищании динамиком, думаю сделаю сам, но нужно еще что-ниудь. Заранее спсибо, если кто откликнеться!
PS: если у вас будет код, ну, к примеру, отключения монитора, но не будет его включения - и бог с ним! Хоть что-нибудь!
Извиняюсь за наглость, но не мог бы ты дать линк на книгу(или ее цитаты, где есть код примера и мало-мальски объяснения) или сам сюда закопипастить чего-нить? Если сам закопипастишь, то не надо ниче объяснять!!! Главное, чтобы что-нибудь происходило на уровне железяк. Я уже заставил пищать динамик, откл/вкл клаву надо исчо что-нить - один пример!!! Всего ничего ведь получаеться, вот для динамика вышло 3 строчки на включение и 3 на отключение, для клавы ваще 1 цикл и 1 строка. Если б я раньше с этим сталкивался, придумал бы чего-нить а так я на асме ваще только "Hello world!" и писал... Ща ищу как прибить мышу... может и сам справлюсь но по-любому буду оч. признателен, если мне помогут!
Ох, госпади! Я знаю И на с++ или с я и сам могу при помощи винАПИ навернуть чего угодно... Но мне нуна именно НАПРЯМУЮ ОБРАТИТЬСЯ К РЕАЛЬНОМУ ФИЗ. УСТРОЙСТВУ. К любому! И сделать что угодно! Хоть лоток вынуть, хоть всунуть, но я не умею программировать на низком уровне. Я привык летать выше и думать в категориях ГОРАЗДО бОльших объектов, нежели бит, байт и даже мегабайт... Поэтому прошу помощи у тех, кто умеет то, что не умею я. Ну не хочу я из-за 10 строк кода ворошить кучу доков о том, что, где, по какому смещению, какие биты в каком порту читает... Напиши мне, пожалуйста, как открыть цд-лоток, или дай ссылку куда-нить на пример разобранный, но не 600-страничный талмуд! Кста, я ща и сам поищу - по этому поводу пока не додумался все мышу канаю