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试验,上述办法不行。
版权声明:本文标题:delphi 隐藏任务栏图标 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1705475170a140650.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论