?屏蔽键盘(25分)

  • 主题发起人 主题发起人 muyixin
  • 开始时间 开始时间
M

muyixin

Unregistered / Unconfirmed
GUEST, unregistred user!
只要我在程序运行期间 键盘上的某的个键是被屏蔽的 其他程序也不能使能它 ?
 
自己顶一下
 
帮你顶一下!这种要用到API,书上很多介绍的,只要截获键盘消息就可以了!找找那种组合框弹出窗口的例子!
给你一个简单的键盘钩子程序,CTRL+ALT+M弹出窗口的,自己修改
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
procedure WMhotkeyhandle(var msg:Tmessage);message wm_hotkey;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
hotkeyid:integer;
ifhide:boolean;


implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
hotkeyid := GlobalAddAtom('My HotKey')-$C000;
registerhotkey(handle,hotkeyid,mod_control or mod_alt,$4D);
Form1.Visible := false;
end;

procedure TForm1.Wmhotkeyhandle(var msg:Tmessage);
begin
if (msg.LParamHi=$4D) and (msg.lparamLo=mod_control + mod_alt) then
begin
msg.Result:=1;
application.Restore;
ifhide := false;
self.Show;
end;
end;
end.
 
自己查找了一下资料 看的是东非懂的 好像是要用到全局键盘钩子 dll文件
 
我主要是想屏蔽 window键
那我在lmk的基础上改 我遇到几个问题
1
注册热键 如何注册 win键(只有win键 而不是组合键)
registerhotkey(handle,hotkeyid,mod_win,$4D);
主要是最后一个参数 不知道改怎么处理

还有就是第一个参数是定义这个热键的响应窗口 我想是所用运行的窗口 改怎么做呢?
2 热键响应 中的程序中 我用 Abort是否可以达到屏蔽 win键的 效果
 
经过试验 可以达到屏蔽A B ...等键 这时只要把第三个参数设置为0 就可以了 但时怎么可以屏蔽win键呢 registerhotkey(handle,hotkeyid,mod_win,???) 第四个参数怎么设置啊 ?????????
 
怎么每人帮忙呢? !!!!!!!
 
接受答案了.
 
后退
顶部