首页
社区
课程
招聘
[旧帖] [原创][邀请码给我]电子教室软件开发中锁定Ctrl+Alt+Del 0.00雪花
发表于: 2011-3-8 09:02 1259

[旧帖] [原创][邀请码给我]电子教室软件开发中锁定Ctrl+Alt+Del 0.00雪花

2011-3-8 09:02
1259
电子教室软件开发中锁定Ctrl+Alt+Del,有多种方法,我采用如下思路完美解决锁定Ctrl+Alt+Del:
例如:要锁定某个学生机器,教师发一道命令,学生接收命令后启动定时器,
在定时器里:显示一个黑色的全屏窗口(窗口上可以有一些文字或图片),并且永远放在最上,然后发现有任务管理器窗口时,立即关掉它

        35: //黑屏指令
        begin

if timer2.Enabled = False then
begin
  BlockInput(True);      //键盘与鼠标锁定,但ctrl alt del 还是有效
  ShowCursor(False);   //光标不显示
  heip := TfrmHeiPing.Create(self);
  heip.Show;    //黑屏窗口显示
  Heip.label1.Top := screen.Height div 3;   //显示 请同学们认真听讲! 等信息
  Timer2.Enabled := True;
end;

        end;

当要解除锁定时,教师发一道命令过来,学生关闭定时器
        36: //黑屏取消指令
        begin
ShowCursor(True);
if timer2.Enabled = True then
begin
  BlockInput(False);
  ShowCursor(True);
  Timer2.Enabled := False;
  try
    heip.Close;
  except
  end;
end;

        end;

定时器里面的代码:
procedure TfrmMain.Timer2Timer(Sender: TObject);
begin

SetWindowPos(Heip.Handle ,HWND_TOPMOST,0,0,screen.Width,screen.Height,0);//设置窗体至上

if   (FindWindow(0,'错误')=0) and (FindWindow(0,'Windows 任务管理器')>0)then
begin
      sendMessage(FindWindow(0,'Windows 任务管理器'),WM_CLOSE,0,0);
      BlockInput(True);
      ShowCursor(False);//隐藏mouse
end;

end;

通过以上思路,不通过加载驱动等方式,锁定Ctrl+Alt+Del,自认为代码少且效果理想.欢迎高手指点.

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 735
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错,很好!!
2011-3-10 13:18
0
游客
登录 | 注册 方可回帖
返回
//