如何屏蔽 除了a键和鼠标右键 其他所有键呢,如何屏蔽个别按键,谢谢

gamaster 2002-11-12 06:37:28
up
...全文
45 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qrlvls 2002-11-13
  • 打赏
  • 举报
回复
设置Hook
blueshu 2002-11-13
  • 打赏
  • 举报
回复
keydown事件中加入
blueshu 2002-11-13
  • 打赏
  • 举报
回复
if not (key= #..) then key := #0;
zhangchao_7622 2002-11-13
  • 打赏
  • 举报
回复
可以试一试楼上的。
火鸟李国平 2002-11-12
  • 打赏
  • 举报
回复
给你一个KeyBoard hook的Delphi例子:
//keyhook
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
Function KeyHook(iCode: Integer; wParam: Longint; var Msg: TMsg): Longint; stdcall;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

Function KeyHook(iCode: Integer; wParam: Longint; var Msg: TMsg): Longint; stdcall;
begin
messagebox(0,pchar(inttostr(icode)),pchar(inttostr(wParam)),mb_ok);
Keyhook:=1;//为1时应收窗口将收不到键盘消息
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
tag:=SetWindowsHookEx(WH_KEYBOARD, @Keyhook, hInstance, 0);
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnhookWindowsHookEx(tag);
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0);
end;

end.
火鸟李国平 2002-11-12
  • 打赏
  • 举报
回复
具体到API就是SetWindowsHookEx和UnhookWindowsHookEx
火鸟李国平 2002-11-12
  • 打赏
  • 举报
回复
Mouse Hook 或keyboard Hook

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧