请教各位,用delphi如何锁定键盘,只保留一个键可以使用,
按这个键后,解除键盘的锁定。请指教,先谢了。
按这个键后,解除键盘的锁定。请指教,先谢了。
解决方案 »
- C/S结构程序,如果服务器是在互联网的某个网站或是主机上面
- Edit组件的奇怪问题,怎么某窗体上的Edit老是自动选择中文输入?!
- IdTCPClient如何捕捉服务器端IdTCPServer的异常,然后再客户端显示呢?
- 如何将string类型转换成char类型??????
- Delphi怎么了?
- ddfdsafdasfsdafdsfdfasfghgfh
- 数据库提供驱动程序列表。
- 有那位知道如何将delphi中datetime进行加减运算???
- 怎么重载TEdit类?
- 100分求助!关于realAudio控件的问题!
- 用delphi7+ado+FastReport开发的应用程序怎样打包发布啊?
- 一个关于类的构建的问题
uses
Wintypes, WinProcs;//键盘上锁
function DisableKeyboard: Boolean;
//键盘解锁
procedure EnableKeyboard;implementationvar
oldHook: Hhook;function KbHook(code: Integer; wparam: Word; lparam: LongInt): LongInt;
begin
if code < 0 then
KbHook := CallNextHookEx(oldHook, code, wparam, lparam)
else
KbHook := 1;
end; // KbHookfunction DisableKeyboard: Boolean;
//上锁
begin
oldHook := SetWindowsHookEx(WH_KEYBOARD, @KbHook, Hinstance, 0);
DisableKeyboard := oldHook <> 0;
end;procedure EnableKeyboard;
//解锁
begin
if oldHook <> 0 then
begin
UnhookWindowshookEx(oldHook);
oldHook := 0;
end; // If
end;
end.
unit Unit3;interface
uses
Wintypes, WinProcs;function DisableKeyBoard: Boolean;
procedure EnableKeyBoard;implementation
var
oldHook: HHOOK;
function KbHook(code: Integer; wparam: Word; lparam: LongInt): LongInt;
begin
if code < 0 then
KbHook := CallNextHookEx(oldHook, code, wparam, lparam)
else
KbHook := 1;
end;function DisableKeyBoard: Boolean;
begin
oldHook := SetWindowsHookEx(WH_KEYBOARD, @KbHook, HINSTANCe, 0);
Result := oldHook <> 0;
end;procedure EnableKeyBoard;
begin
if oldHook <> 0 then
begin
UnhookWindowsHookEx(oldHook);
oldHook := 0;
end;end;end.