将鼠标锁定在一定范围
如何将鼠标锁定在一定的范围内呢?
请在Form中放置二个 Button, 然後分别为这两个按钮定义OnClick响应事件如下:
// 限制
procedure TForm1.Button1Click(Sender: TObject);
var
rtButton2: TRect;
begin
rtButton2 := Button2.BoundsRect;
MapWindowPoints(handle, 0, rtButton2, 2); // 座标换算
ClipCursor(@rtButton2); // 限制鼠标移动区域
end;
// 还原
procedure TForm1.Button2Click(Sender: TObject);
var
rtScreen: TRect;
begin
rtScreen := Rect(0, 0, Screen.Width, Screen.Height);
ClipCursor(@rtScreen);
end;
屏蔽系统按键
也许您希望您的程序在运行时不想让用户按系统按键 Alt-Tab 或 Ctrl-Alt-Del,那么可以通过以下的程序段屏蔽这些按键。
procedure TForm1.FormCreate(Sender: TObject);
begin
var
tmp : integer;
begin
tmp := 0;
//屏蔽 Alt-Tab
SystemParametersInfo( SPI_SETFASTTASKSWITCH, 1, @tmp, 0);
//屏蔽 Ctrl-Alt-Del
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @tmp, 0); end; end;