DameWare 锁鼠标键盘是怎么实现的?
多谢.
多谢.
解决方案 »
- 这个问题有人能解决吗?
- 数据库中的图片数据怎样在Image中显示
- 关于动态生成控件的问题
- XPMemu控件,在98系统开始运行时,为什么启动很慢?
- F1book使用的问题,请帮忙!
- 在RICHEDIT中怎么让文本对齐,和插入字符的问题(有有关这个方面的源码吗)。
- 小菜求助,关于注册表的问题~
- 如何实现更改货币符号(¥,$...)?
- 小妹在线求救~!!关于服务器对客户端的消息解析机制的问题!请各位都进来给点意见,谢谢!
- 我怎么打开远程文本文件(局域网内也行)?急!急!急!
- 如何开机后运行先运行你的程序,然后根据你的程序选择是否运行windows2000
- 如何将运行后的程序最小化到任务栏,当双击任务栏图标后,将程序窗口还原。
关于这方面资料,这儿有我的解答
http://expert.csdn.net/Expert/topic/2937/2937479.xml?temp=.123089
棗棗棗棗棗?
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;