admin管理员组

文章数量:1531765

2024年1月17日发(作者:)

delphi 隐藏任务栏图标

首先,请看看这些术语。系统托盘是一个在任务条右角的小方框,在托盘了应用程序可以显示小图标。任务条是可以在屏幕上伸展的工具栏。它就是程序图标所在的位置。想隐藏程序的任务条图标,你可以应用ShowWindow函数并传给它窗口句柄。

ShowWindow(, SW_HIDE);

若想让任务条图标再出现,只需将SW_HIDE改为SW_SHOW。

ShowWindow(, SW_SHOW);

注: 你可以设置主窗口的Visible属性为false来隐藏它。

注: 通过ShowWindow来隐藏窗口的任务条图标是不持久的。某些动作会使任务条图标重现。你可以将隐藏的应用程序窗口设为Tool Window来移走程序的任务条图标而避免它再次出现。Tool windows永远不会有任务条图标。 使应用程序窗口成为一个Tool Window有一个副作用:当用户按下Alt-TAB时它将不在程序列表中出现。你可以调用API函数GetWindowLong和SetWindowLong来使应用程序窗口成为一个Tool Window。

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

DWORD dwExStyle = GetWindowLong(Application->Handle, GWL_EXSTYLE);

dwExStyle |= WS_EX_TOOLWINDOW;

SetWindowLong(Application->Handle, GWL_EXSTYLE, dwExStyle);

try

{

Application->Initialize();

Application->CreateForm(__classid(TForm1), &Form1);

Application->Run();

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

return 0;

}

/////////////////////////////////

ShowWindow(Application->Handle,SW_HIDE)

delphi 隐藏任务栏图标

2007-02-28 16:16

在编程的过程中,有时想让程序的任务栏图标隐藏起来,我们通常的方法是添加代码inForm:=false;或使用;来实现,这样虽然能让任务栏图标不出现,但是把主窗体也给藏起来了,有什么办法可以让只任务栏图标不出现呢?今天在上网偶然发现了一个方法,可以解决这个问题。那就是将应用程序窗口设为Tool Window来移走程序的任务栏图标(QQ就是这种,你把登陆界面最小化就能看出他的不同之处了),Tool windows永远不会有任务栏图标。 但是当应用程序窗口成为一个Tool Window后,它将不出现在Alt-TAB程序列表中,也就是不能使用Alt-TAB切换到该窗口。要实现应用程序窗口为Tool

Window ,可以调用API函数GetWindowLong和 SetWindowLong来完成。delphi代码如下:

program hidepro;

uses

Forms,windows,

main in '' {Form1};

{$R *.res}

var

dwExStyle : DWORD;

begin

dwExStyle := GetWindowLong(, GWL_EXSTYLE);

dwExStyle := dwExStyle + WS_EX_TOOLWINDOW;

SetWindowLong(, GWL_EXSTYLE, dwExStyle);

lize;

Form(TForm1, Form1);

;

end.

///////////////////////////////////////////

setwindowpos(,hwnd_top,0,0,0,0,swp_hidewindow);//不显示在系统栏

/////////////////////////////////

工程文件中加入

//不显示主窗体

inForm := False;

主窗体生成的时候加入

//在任务栏不可见程序

SetWindowLong(,GWL_EXSTYLE,WS_EX_TOOLWINDOW);

这样在任务栏没有了,窗体也显示不出来了,但是在xp的任务管理器内能看到。

//////////////////

ShowWindow(Application->Handle,SW_HIDE)

////////////////

delphi实现隐藏程序在任务栏的图标

一句就能实现隐藏任务栏图标的功能:在form的create 事件中加入下面一行代码

SetWindowLong(,GWL_EXSTYLE,WS_EX_TOOLWINDOW);

但不要忘了在uses 里面加入 ShellApi 哟~~~

我在win7+delphi2010试验,上述办法不行。

本文标签: 图标任务栏任务隐藏程序