Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Через 3 дня :

День славянской письменности и культуры


Как ВКЛЮЧИТЬ клавиатуру и мышку?
На страницу 1, 2  След.

Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Vovan25
Гость







СообщениеСр, 13-Авг-2003 21:21    Заголовок сообщения: Как ВКЛЮЧИТЬ клавиатуру и мышку?
Цитата

Люди, кто знает как включить клавиатуру и мышку после того как их отключили при помощи "rundll32 keyboard,disable" и
"rundll32 mouse,disable" ?

Пробовал угадать: "rundll32 keyboard,enable" и
"rundll32 mouse,enable", но в ответ одни матюки или тишина.
В начало
Пол:Муж Gelios
Oracle-вый маньяк, Админ


Возраст: 37
Знак зодиака: Водолей
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
СообщениеЧт, 14-Авг-2003 5:37 
Цитата

перезагрузка тебе поможет...
_________________
нельзя давать всем всего, ибо всех много, а всего мало
В начало
Посмотреть профиль Отправить личное сообщение
Vovan25
Гость







СообщениеЧт, 14-Авг-2003 12:54 
Цитата

Перезагрузка, конечно помогает, вот только включить их нужно не перезагружаясь....
В начало
Пол:Муж Gelios
Oracle-вый маньяк, Админ


Возраст: 37
Знак зодиака: Водолей
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
СообщениеЧт, 14-Авг-2003 13:06 
Цитата

а зачем отключать нужно было?
можнео попробовать хук, а когда нужно его отключть...

_________________
нельзя давать всем всего, ибо всех много, а всего мало
В начало
Посмотреть профиль Отправить личное сообщение
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеПн, 18-Авг-2003 21:48 
Цитата

Да нет, идея верная - там есть функции enable. Возможно, нужны еще кое-какие параметры. Это доку нужно читать
_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеПн, 18-Авг-2003 21:53 
Цитата

P.S. Вопрос в том, какая это была винда. Дело в том, что keyboard.drv и mouse.drv - это древние дрова с NE-заголовком, и rundll32 не обязана с ними корректно работать
_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
vovan_25
Гость







СообщениеВт, 19-Авг-2003 21:57 
Цитата

Спасибо всем, но я уже сам нашел...
Клаву и мышу вырубает процедура BlockInput из user32.dll
Вот только Ctrl-Alt-Del снимает всю блокировку :(
Винда 98-ая.
В начало
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеСр, 20-Авг-2003 23:22 
Цитата

А тогда попробуй то же, но с rundll вместо rundll32
_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеЧт, 28-Авг-2003 21:39 
Цитата

Не знаю по теме или не очень. Вот как это делать хуками:

Код:
function KeyHook(Code: integer; WParam: Longint; LParam: Longint): Longint; stdcall;
begin
  Result:= -1;
end;

function MouseHook(Code: integer; WParam: Longint; LParam: Longint): Longint; stdcall;
begin
  Result:= -1;
end;

procedure EnableInput( Value: Boolean );
begin
  if Value then
  begin
   if MouseHookHandle <> 0 then UnhookWindowsHookEx(MouseHookHandle);
   if KeyHookHandle <> 0 then UnhookWindowsHookEx(KeyHookHandle);
  end else
  begin
   KeyHookHandle := SetWindowsHookEx(WH_KEYBOARD, KeyHook, HInstance, 0);
   MouseHookHandle := SetWindowsHookEx(WH_MOUSE, MouseHook, HInstance, 0);
  end;
end;

А Ctrl-Alt-Del на 98-й вроде бы запрещается так:

Код:
var old_cad: Boolean;

procedure EnableCtrlAltDel( Value: Boolean );
begin
  if Value
  then SystemparametersInfo( SPI_ScreenSaverRunning, 0, @old_cad, 0 )
  else SystemParametersInfo( SPI_ScreenSaverRunning, 1, @old_cad, 0 )
end;
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
MIN
Гость







СообщениеСр, 26-Ноя-2003 13:07 
Цитата

Просматривал топик....раньше не пробовал работать с хуками.
Откомпилировал последний код. Да. Все хорошо, клава и мышь блокируются, но после разблокировки - все что я мышью нажал и клавой написал - выполняется!! Как от этого избавиться?
В начало
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеСр, 26-Ноя-2003 13:31 
Цитата

Хороший вопросик. Даже не знаю что тут сказать, не запуская код.

Я с хуками "работал" только раз, и именно для блокировок мыши и клавиатуры. Здесь я привёл тот код, которым сам пользовался. Програмку ганяли на блокировку весьма немало, не на одной машине, и вроде не помню, чтобы было что-то из того, что ты описываешь.

Хоть наверно всё же было, в самом начале. Но что мы с этим сделали уже не помню. Может найду у себя работающие примерчики - выложу.

_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеСр, 26-Ноя-2003 21:34 
Цитата

Вот пример блокировки клавиатуры. Мышь не блокируется, чтобы ей можно было тестировать.

Того, что ты описываешь не заметил. Правда я вспомнил, что когда мы тестировали, что-то подобное наблюдалось. У нас блокировки инициировались с соседней машины. Если в это время что-то набиралось в notepad-е, то после разблокировки это всё вываливалось из какого-то там буффера. Но на этой программе я не смог повторить подобного эффекта.

_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
MIN
Гость







СообщениеЧт, 27-Ноя-2003 8:38 
Цитата

Спасибо. В твоей программке все действительно работает.
Только я пока не могу понять, почему в описанном выше коде (хотя там вроде тоже самое) все-таки выполняется то, что успел за время блокировки мышкой нажать.
И еще вопрос - как сделать в том коде чтобы мышь вообще не двигалась?
В начало
MIN
Гость







СообщениеЧт, 27-Ноя-2003 9:02 
Цитата

Нашел единственное отличие
function KeyHook(Code: integer; WParam: Longint; LParam: Longint) - это в коде
function KeyHook(Code: integer; WParam: Word; LParam: Longint): - это в программке.
Отличие в типе второго параметра, но зато вызов тоже происходит иначе
SetWindowsHookEx(WH_KEYBOARD, KeyHook, HInstance, 0); в коде
SetWindowsHookEx(WH_KEYBOARD, @KeyHook, HInstance, 0); в программке.
Вопрос - че делает символ "@" перед вызовом процедыры KeyHook?

З.Ы. Попробовал в коде изменить на подобие исходников, проблема осталась с действиями после разблокировки
В начало
Пол:Муж Gelios
Oracle-вый маньяк, Админ


Возраст: 37
Знак зодиака: Водолей
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
СообщениеЧт, 27-Ноя-2003 10:19 
Цитата

Цитата:
че делает символ "@" перед вызовом процедыры KeyHook?

получение адреса процедуры в твоем случае

_________________
нельзя давать всем всего, ибо всех много, а всего мало
В начало
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Страница 1 из 2 На страницу 1, 2  След.
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100