var KHK: HHook;
tmp: integer;
function HookProc(ICode: integer;WP:WParam;LP:LParam):LResult;
begin
Result:=CallNextHookEx(KHK,0,0,0);
end;
使用下列語句開始鎖定:
KHK:=SetWindowsHookex(WH_JOURNALPLAYBACK,@HookProc,HInstance,0);
使用下列語句結束鎖定:
UnHookWindowsHookEx(KHK);
這時候不能屏蔽Windows的系統鍵Ctrl-Alt-Tab,Ctrl-Esc,Alt-Tab等
你就可使用:
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @tmp , 0);//鎖起來
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, @tmp , 0);//打開吧
______________________
記住多給點分。
要是不靈的話,就把代碼做成DLL。
BTW,以上代碼能夠同時鎖住鼠標和鍵盤。
***************************
鎖鍵盤
procedure TForm1.Button1Click(Sender: TObject);
begin
Asm //封鎖20端口
IN AL,21H
OR AL,02H
OUT 21H,AL
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Asm //解鎖20端口
IN AL,21H
AND AL,0FDH
OUT 21H,AL
end;
end;
.net