怎样程序运行期间不响应鼠标左键啊(10分)

  • 主题发起人 主题发起人 hangyang
  • 开始时间 开始时间
H

hangyang

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位,怎样在执行一段程序的中间不响应鼠标左键,程序执行完后再恢复左键功能谢谢。分不多了,请多包涵哈。
 
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @tmp, 0);//锁起
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, @tmp, 0);//打开
 
to:szhcracker

这两个函数怎么用啊?谢谢
 
var
a:TRect;
temp:integer;
begin
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @temp, 0);//屏蔽系统键
a := Rect(0, 0, 5, 5);
ClipCursor(@a);//锁定鼠标在一定区域内,最好锁在你的窗口里
end;

//解除锁定
begin
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, @temp, 0);
ClipCursor(nil);
end;
 
我看钩子比较好.

library MouseHook;

uses
ExceptionLog,
Forms,
Windows,
Messages,
Math,
HookCommon in 'HookCommon.pas';

{$J+}
const
Hook: HHook = 0;
{$J-}


{$R *.res}

function HookProc(nCode: Integer; MsgID: WParam; Data: LParam): LResult; stdcall;
begin
Result := True; // 这里直接返回True,不继续处理鼠标事件//CallNextHookEx(Hook,nCode,MsgID,Data);
end;

procedure HookMouse; stdcall;
begin
if Hook = 0 then Hook:=SetWindowsHookEx(WH_MOUSE,@HookProc,HInstance,0);
end;

procedure UnHookMouse; stdcall;
begin
UnhookWindowsHookEx(Hook);
Hook:=0;
end;

exports
HookMouse, UnHookMouse;

begin
end.



unit HookCommon;

interface

uses Windows;



procedure HookMouse;
procedure UnHookMouse;

implementation

procedure HookMouse; external 'MouseHook.DLL';
procedure UnHookMouse; external 'MouseHook.DLL';

end.
 
问题已经解决。 多谢关注哈。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部