是否有禁止鼠标消息的函数?也就是让鼠标在程序控制下,随时可以对鼠标按键失效!但不可波及键盘!(100分)

  • 主题发起人 主题发起人 zxp_ping
  • 开始时间 开始时间
Z

zxp_ping

Unregistered / Unconfirmed
GUEST, unregistred user!
是否有禁止鼠标消息的函数?也就是让鼠标在程序控制下,随时可以对鼠标按键失效!但不可波及键盘!
 
function Mouse(code:integer;wParam, lParam: Longint):longint;stdcall;
begin
; Result:=1;
end;
procedure form1.button1click(sender:Tobject);
var HookHandle:hHook = 0;
begin
HookHandle:=setwindowshookex(wh_mouse,mouse,hinstance,0);
end;
//UnhookWindowsHookEx(HookHandle); ;本句用来解除锁定
 
; ; ; ;HookHandle:=setwindowshookex(wh_mouse,mouse,hinstance,0);
这句出错!
Back.pas(671): 不相容类型: 'TFNHookProc'并且 'TMouse'
 
我又试了一下,没问题!

unit Unit1;

interface

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

type
; TForm1 = class(TForm)
; ; Button1: TButton;
; ; Button2: TButton;
; ; procedure Button1Click(Sender: TObject);
; ; procedure Button2Click(Sender: TObject);
; private
; ; { Private declarations }
; public
; ; { Public declarations }
; end;

var
; Form1: TForm1;
; HookHandle:hHook = 0;

implementation

{$R *.DFM}

function Mouse(code:integer;wParam, lParam: Longint):longint;stdcall;
begin
; Result:=1;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
; HookHandle:=setwindowshookex(wh_mouse,mouse,hinstance,0);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
; UnhookWindowsHookEx(HookHandle);
end;

end.
 
不错,我再试了,也成功了,不过还是不符我的要求,不信,你在锁定时移到窗口外点击试
试,那样的话,键盘就不能够按键了!!
问题还是讨论到此吧,别人都不来玩了,还是你热心!谢谢你。
 
多人接受答案了。
 
后退
顶部