]、。·ˉˇ¨〃々—~‖…’”〕〉》」』〗】∶!"'),.:;?]` StarRainBow(星虹)
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;