如何锁住键盘和鼠标?
从来没做过,在此求教。有项目要求,在程序运行时,按某键后锁住键盘,不能进行操作,鼠标也要失效。待按了某键后又恢复,请问该如何处理?还有问一下,当锁住键盘之后,过了几分钟带密码的屏幕保护开启,这时候键盘还能不能输入? 问题点数:50、回复次数:17Top
1 楼aniven(Compile Failed)回复于 2004-09-02 13:50:09 得分 5
//鎖住鼠標
TRect lockmouse=Panel1->BoundsRect;
MapWindowPoints(Handle,0,(LPPOINT)(&lockmouse),2);
ClipCursor(&lockmouse);
//恢復鼠標
ClipCursor(0);
SystemParametersInfo(SPI_SCREENSAVERRUNNING,true,NULL,0);//屏蔽Ctrl+Alt+Del键
SystemParametersInfo(SPI_SCREENSAVERRUNNING,false,NULL, 0);//恢复Ctrl+Alt+Del键Top
2 楼Lonelywolf1899(プログラマ)回复于 2004-09-02 13:50:47 得分 0
if(Key!=??)
Key=0;Top
3 楼jishiping(JSP 季世平)回复于 2004-09-02 13:52:08 得分 0
只能用全局的鼠标钩子和低级的键盘钩子了,不过低级的键盘钩子值能在NT平台使用。有关钩子的使用,楼主自己搜索一下吧,CSDN上很多的。Top
4 楼mirageTF(mirageTF)回复于 2004-09-02 14:00:17 得分 0
1、2楼,我没说清楚,是要锁全部windowsTop
5 楼constantine(飘遥的安吉儿)回复于 2004-09-02 14:00:30 得分 40
void __fastcall TForm1::btnClick(TObject *Sender)
{
BOOL __stdcall (*BlockInput)(BOOL Flag);
(FARPROC)BlockInput = GetProcAddress(GetModuleHandle("user32.dll"), "BlockInput");
if (BlockInput) BlockInput(true);
}
//恢复BlockInput(false);Top
6 楼constantine(飘遥的安吉儿)回复于 2004-09-02 14:01:26 得分 0
按下<Ctrl>+<Alt>+<Del>也可以解Top
7 楼jishiping(JSP 季世平)回复于 2004-09-02 14:02:26 得分 5
BlockInput 锁住后,就不能自己按某个键解开了,此时只能定好某个时间由程序自己解开。Top
8 楼mirageTF(mirageTF)回复于 2004-09-02 14:23:18 得分 0
先谢谢楼上各位。
constantine(飘遥的安吉儿) 的代码不能解决我的问题,因为当操作软件的人离开岗位时不能让别人操作,所以按下<Ctrl>+<Alt>+<Del>就能化解不能用。
另外想问问,之前我也找过一些文章,有些是关于win2k下屏蔽<Ctrl>+<Alt>+<Del>的,想知道是不是一般的屏蔽都会因为<Ctrl>+<Alt>+<Del>而失效,必须先把<Ctrl>+<Alt>+<Del>屏蔽?Top
9 楼constantine(飘遥的安吉儿)回复于 2004-09-02 14:35:48 得分 0
把任务管理器关掉看看Top
10 楼show00(星星)回复于 2004-09-02 14:40:42 得分 0
HookTop
11 楼mirageTF(mirageTF)回复于 2004-09-02 15:12:59 得分 0
当锁住键盘之后,过了几分钟带密码的屏幕保护开启,这时候键盘还能不能输入?Top
12 楼constantine(飘遥的安吉儿)回复于 2004-09-02 16:04:03 得分 0
要真正屏蔽<Ctrl>+<Alt>+<Del>比较麻烦,当然有办法。
锁定其他的可以用钩子,
屏幕保护可以带密码的,就似系统的密码,你没有必要自己做Top
13 楼weill(每天提一问,一天学一点)回复于 2004-09-02 16:18:38 得分 0
和和,刀走偏锋,这样的程序不是让人赞叹就是给人麻烦。
我的意思是,除非你做得非常好,会让人赞叹你的程序做得非常不错。
不过,只怕多数情况下,别人会骂你把电脑给搞得不听话了。
同意安吉儿的,利用windows自身的屏保。
Top
14 楼futulove(福途£爱)回复于 2004-09-02 17:00:31 得分 0
一楼的锁住三键好像不太好使Top
15 楼mirageTF(mirageTF)回复于 2004-09-02 17:26:22 得分 0
1楼的锁3键只能在98下,NT/2000下无效Top
16 楼weill(每天提一问,一天学一点)回复于 2004-09-02 19:41:54 得分 0
咯咯,这种屏锁三键的功能,偶想,微软是不会轻易让大家实现的,否则,很多黑客会用上这一招的。
我的意思就是说,只怕只有高等级的黑客才会这一招吧(当然,也许是我太菜了,呵呵,关注中)。Top
17 楼jmsjq(HB学子)回复于 2004-09-02 21:28:21 得分 0
我下过一个例子,以前试时不能锁住<ctrl>+<alt>+<del>三键,(试过多次)但是也不能解锁,今天试却可以锁住三键了,(不知道是不是写过注册表了)三键器按时,只能刷新屏幕,不会弹窗体。只能按特定键才能解锁。Top




