用delphi怎么 判断一个程序是不是在任务栏上
1个回答
展开全部
在自己的程序中将任务栏隐藏起来,并屏蔽Ctrl+Alt+Del和Alt+Tab等系统热键,也是很有趣的。要实现它们比较容易,但千万别忘了恢复正常,另外,本例中使用了3个API函数:FindWindow、ShowWindow和SystemParametersInfo,在使用它们之前一定要进行申明。
主要的思路是利用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_SCREENSAVERRUNNING,1,@Tmp,0); //屏蔽系模弊统热键
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Hwnd:=FindWindow('Shell_TrayWnd',nil);
ShowWindow(Hwnd,SW_SHOW); //恢复任务栏
SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,@Tmp,0);//碰码启恢复系统热键
end;
主要的思路是利用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_SCREENSAVERRUNNING,1,@Tmp,0); //屏蔽系模弊统热键
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Hwnd:=FindWindow('Shell_TrayWnd',nil);
ShowWindow(Hwnd,SW_SHOW); //恢复任务栏
SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,@Tmp,0);//碰码启恢复系统热键
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询