Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.05.2010, 14:20
ilsen_diaz ilsen_diaz вне форума
Прохожий
 
Регистрация: 18.05.2010
Сообщения: 6
Репутация: 10
По умолчанию Помогите с клавой

Вот такая задача - нужно отключить/включить клавиатуру. Как это сделать и какие модули использовать?
Есть такой пример:
Код:
// используемые переменные
var
Dummy     : ildKbHook : HHook=0;

impementation

function KbHook( code: Integer; wparam: Word; lparam: LongInt ): LongInt; stdcall;
begin
if code<0 then Result:=CallNextHookEx( oldKbHook, code, wparam, lparam )
else Result:=1;
end;

// включение клавы
procedure TForm1.KeyBoardOn(Sender: TObject);
begin
if OldKbHook <> 0 then begin
UnHookWindowshookEx( OldKbHook );
OldKbHook := 0;
end;
SystemParametersInfo( SPI_SETFASTTASKSWITCH, 0, 0, 0);
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, 0, 0);
end;

// выключение клавы
procedure TForm1.KeyBoardOff(Sender: TObject);
begin
SystemParametersInfo( SPI_SETFASTTASKSWITCH, 1, @Dummy, 0);
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @Dummy, 0);
OldKbHook := SetWindowsHookEx( WH_KEYBOARD, @KbHook, HInstance, 0 );
end;
Admin: Пользуемся тегами!

но он не работает(((
Помогите плз...

Последний раз редактировалось Admin, 25.05.2010 в 14:49.
Ответить с цитированием
  #2  
Старый 25.05.2010, 16:44
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

хуки должны находиться в dll. У меня твой пример работает.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 25.05.2010, 17:09
ilsen_diaz ilsen_diaz вне форума
Прохожий
 
Регистрация: 18.05.2010
Сообщения: 6
Репутация: 10
По умолчанию

Дай плз работающую программу, чтоб можно было отключить и включить клаву
Ответить с цитированием
  #4  
Старый 22.08.2010, 10:54
Аватар для eXplorer
eXplorer eXplorer вне форума
Активный
 
Регистрация: 06.08.2010
Адрес: Ярославль
Сообщения: 264
Версия Delphi: 7
Репутация: 14
По умолчанию

Отключить клаву:
Код:
var
dirWin: array[0..255] of char;
begin
GetWindowsDirectory(dirWin,255); 
WinExec(PChar(WinDir + ' undll32.exe keyboard,disable'),SW_SHOWNORMAL);
end; 
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:21.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025