Форум: "Начинающим";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
ВнизОтключение/включение клавиатуры Найти похожие ветки
← →
LoRd1 © (2007-05-19 23:11) [0]С какой команды можно отключить клавиатуру?? (и включить)
← →
Loginov Dmitry © (2007-05-19 23:42) [1]А как команду на включение потом дашь?
← →
LoRd1 © (2007-05-19 23:47) [2]эт не важно... но если сильно интересно - сделаю кнопку выкл и вкл (вот токо коды для этих нопок надо узнать)
← →
kingsoft © (2007-05-20 01:36) [3]
> LoRd1 ©
Вот код отключение/включение клавиатуры. Может он и не совсем коректный с точке зрения программирования, но за то рабочий.
unit Unit1;
interface
uses
Windows;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
m_OldMHook: HHook = 0;
k_OldKBHook: HHook = 0;
function KbHook(code: Integer; wparam: Word; lparam: LongInt): LongInt; stdcall;
stdcall;
implementation
{$R *.dfm}
function KbHook(code: Integer; wparam: Word; lparam: LongInt): LongInt; stdcall;
begin
if code < 0 then
Result := CallNextHookEx(k_oldKbHook, code, wparam, lparam)
else
Result := 1;
end;
// Включение клавиатуры
procedure TForm1.Button1Click(Sender: TObject);
begin
if k_OldKbHook <> 0 then
begin
UnHookWindowshookEx(k_OldKbHook);
k_OldKbHook := 0;
end;
end;
// Выключение клавиатуры
procedure TForm1.Button2Click(Sender: TObject);
begin
k_OldKbHook := SetWindowsHookEx(WH_KEYBOARD, @KbHook, HInstance, 0);
end;
end.
P.S. Использовать только в благих намереньях!
← →
Leonid Troyanovsky © (2007-05-20 09:11) [4]
> kingsoft © (20.05.07 01:36) [3]
> Вот код отключение/включение клавиатуры. Может он и не совсем
> коректный с точке зрения программирования, но за то рабочий.
Нерабочий, да, впрочем, и некорректный.
> P.S. Использовать только в благих намереньях!
Благими намерениями умощена дорога в ад.
--
Regards, LVT.
← →
Loginov Dmitry © (2007-05-20 09:16) [5]> function KbHook(code: Integer; wparam: Word; lparam: LongInt)
> : LongInt; stdcall;
А че wparam не Integer? В Ран-тайме-то без разницы, выравнивание на 4 байта работает, но как-то некошерно.
← →
Leonid Troyanovsky © (2007-05-20 09:19) [6]
> LoRd1 © (19.05.07 23:11)
> С какой команды можно отключить клавиатуру?? (и включить)
http://www.podgoretsky.com/ftp/Language/nps/chaos.html
--
Regards, LVT.
← →
LoRd1 © (2007-05-20 09:39) [7]> kingsoft ©
Спасибо - код работает :)
← →
homm © (2007-05-20 09:46) [8]> Спасибо - код работает :)
Странно, а это сообщение ты как набирал? :)))
← →
LoRd1 © (2007-05-21 01:19) [9]гг, если прочитать внимательнее то можно заметить что там одна кнопка блокирует, а другая снимает блок :)))))))
но все рабно твое сообщение стоит улыбки :))))
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.048 c