在自己的程序中将任务栏隐藏起来,并屏蔽Ctrl+Alt+Del和Alt+Tab等系统热键,也是很有趣的。要实现它们比较容易,但千万别忘了恢复正常,另外,本例中使用了3个API函数:FindWindow、ShowWindow和SystemParametersInfo,在使用它们之前一定要进行申明。
Implementation
var Hwnd:THandle;
Tmp:integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
Hwnd:=FindWindow('Shell_TrayWnd',nil);
if Hwnd<>0 then ShowWindow(Hwnd,SW_HIDE); //隐藏任务栏
SystemParametersInfo(SPI_SCREEN
SAVERRUNNING,1,@Tmp,0); //屏蔽系统热键
end;
procedure TForm1.Button2Click(Sender: TObject);
ShowWindow(Hwnd,SW_SHOW); //恢复任务栏
SystemParametersInfo(SPI_SCR
EENSAVERRUNNING,0);
//恢复系统热键
Implementation
var Hwnd:THandle;
Tmp:integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
Hwnd:=FindWindow('Shell_TrayWnd',nil);
if Hwnd<>0 then ShowWindow(Hwnd,SW_HIDE); //隐藏任务栏
SystemParametersInfo(SPI_SCREEN
SAVERRUNNING,1,@Tmp,0); //屏蔽系统热键
end;
procedure TForm1.Button2Click(Sender: TObject);
ShowWindow(Hwnd,SW_SHOW); //恢复任务栏
SystemParametersInfo(SPI_SCR
EENSAVERRUNNING,0);
//恢复系统热键
end;
procedure TForm1.FormCreate(Sender: TObject); var iTemp: integer; begin iTemp := 0; SystemParametersInfo(SPI_SCREENSAVERRUNNING,@iTemp,0); //屏蔽Ctrl+Alt+Del SystemParametersInfo(SPI_SETFASTTASKSWITCH,0); //屏蔽Alt+Tab end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var iTemp: integer; begin iTemp := 0; SystemParametersInfo(SPI_SCREENSAVERRUNNING,0); //屏蔽Alt+Tab end;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。