高分求救!如何锁住键盘和鼠标并解锁?(100分)

  • 主题发起人 主题发起人 BLUE_SKY
  • 开始时间 开始时间
B

BLUE_SKY

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠:
  小弟我在一个程序中想锁住键盘和鼠标,形成象在WINDOWS NT中的功能,即:当我
按键盘上的某个组合键,并输入密码时,重新将键盘鼠标解锁。请问如何实现?如果是
让程序等待若干分钟后再解锁,程序中的设计是否不同?试了几种方法都不理想。
最好能有较完整的程序段。谢了![:)]
 
参考以下代码:

unit Unit1;

interface

uses
; Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
; StdCtrls;

type
; TForm1 = class(TForm)
; ; Button1: TButton;
; ; Button2: TButton;
; ; procedure Button1Click(Sender: TObject);
; ; procedure Button2Click(Sender: TObject);
; private
; ; { Private declarations }
; public
; ; { Public declarations }
; end;

var
; Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var rtButton:TRect;
begin
; ; ;rtButton:=Button2.BoundsRect;
; ; ;MapWindowPoints(handle,0,rtButton,2);
; ; ;ClipCursor(@rtButton);

end;

procedure TForm1.Button2Click(Sender: TObject);
var rtScreen:TRect;
begin
; ; ;rtScreen:=Rect(0,0,Screen.Width,Screen.Height);
; ; ;ClipCursor(@rtScreen);
end;

end.
 
用HOOK可以:)
我原来做过,不过可惜随着那个硬盘的坏而没了:(
具体怎么做,你搜索一下以前的已回答贴子,关于键盘HOOK和鼠标HOOK的:)
 
不用那么麻烦吧
直接用程序将系统设置在屏幕保护状态就可以了
:)
 
调用屏幕保护程序即可, 注意在屏幕保护程序中要设置密码
Winexec('c:/windows/system/三维文字.scr',SW_SHOW);
http://www.delphibbs.com/delphibbs/dispq.asp?lid=426009
http://www.delphibbs.com/delphibbs/dispq.asp?lid=627190
 
也不用吧屏幕保护调出来吧
请看这里:
可以用 SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @Oldvalus, 0)
告诉windows屏幕保护程序正在运行,系统就会屏蔽按键和鼠标动作。
var temp:integer;
  begin
   SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @temp, 0);
  end;

把Windows“唤醒”。代码如下:
  var temp : integer;
  begin
   SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, @temp, 0);
  end;
 
锁键盘

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;
 
yxyyyy: ;你的方法好象不可行,因为屏保只锁住了一些功能键,如:Ctrl+Alt+Del。
但鼠标和其它键并没被锁住。
 
如果所有的响应都锁住了,系统怎么知道你要解锁???
 
锁键盘就用yxyyyy的方法,锁鼠标直接把cursour设成none就行了,到时候在设回来
 
我提供一个思路,想一想windows在关闭的时候弹出了一个对话框。
这个时候你除了对这个对话框操作,就不能再做任何操作了,是吧。
如果能做出类似的效果。不是相当于把windows锁定了吗。只是具体
要用到哪一个函数或其它的什么方法我还不知道。
 
好好想想eric.youbin说的话,把问题说清楚。[:D]
 
To:
eric.youbin,savenight:
; ; 本机的系统被锁住了,可以用网络中其它机器发送消息。本机获得消息后解锁呀。
这实际上就是实现远程控制。
 
多人接受答案了。
 
后退
顶部