关于鼠标键盘,会者不难!一点即破!(100分)

  • 主题发起人 主题发起人 zxp_ping
  • 开始时间 开始时间
Z

zxp_ping

Unregistered / Unconfirmed
GUEST, unregistred user!
; ; ; ;rect.Left:=Screen.Width-10;
; ; ; ; rect.Top:=Screen.Height-10;
; ; ; ; rect.Bottom:=Screen.Height-2;
; ; ; ; rect.Right:=Screen.Width-2;
; ; ; ; windows.ClipCursor(@rect);
这样后,为何鼠标虽锁在右下角,但是只是多击几下鼠标左键或右键,然后键盘也失灵了,灯都
状态都不能改变了,按键失效。。。。???求教,非常感谢!!
 
什么意思?
与键盘有什么关系?
 
反正原因是什么不知道,但结果却使键盘失效,你讲跟键盘有没有关系?
 
与键盘没有关系的;
你编译运行以后试试 Alt+Tab,没有什么影响啊。
 
Win98 + Delphi5.0 下运行通过,没发现你所说的问题! ;
用Alt+Tab可以切换任务啊!CapsLock 也可以变换大小写状态!

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 rect:TRect;
begin ;
; ; rect.Left:=Screen.Width-10;
; ; rect.Top:=Screen.Height-10;
; ; rect.Bottom:=Screen.Height-2;
; ; rect.Right:=Screen.Width-2;
; ; windows.ClipCursor(@rect);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
windows.ClipCursor(nil);
end;

end.
 
哦,我大概测试出了是什么原因,不知道对或不对,我之前禁用了Ctrl+Alt+Del键,这样才
真正锁定电脑。可能是这样禁用后出了问题。
 
也不对呀,也不对。
 
我知道了,是这一句导致不正常:

enablewindow(getdesktopwindow,FALSE);
我先执行这句,然后将鼠标区域锁定,之后只要将鼠标乱点几下,键盘就不亮了。
再多点,多移一会,就:
enablewindow(getdesktopwindow,TRUE);后都没用了。。。??为什么?
 
EnableWindow(hWnd: HWND; bEnable: BOOL): BOOL;
; 单元:windows.pas
; 作用:指定的窗口里允许或禁止所有鼠标及键盘输入
; 返回值:BOOL,如果返回真,WINDOWS已经禁止,否则返回假
;
; 你该明白了吧! ;
 
还不明白,是否可以解释一下?小弟愚昧!
 
GetDesktopWindow函数激活整个Windows桌面,你再用EnableWindow函数禁止所有鼠标及键盘输入。
你说会怎么样?^_^
 
那也不至于灯都亮不了了呀?我只是使其输入失效而以。再说,有时已经不禁止了都还不能输入,
得按一下Ctrl+Alt+Del键后,才有效。这又作何解释?
 
听不懂..一头雾水..不知道说什么 -_-
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
595
import
I
后退
顶部