在WINDOWS中,如何把一个应用程序的图标从状态行去掉?!

longchengdong 2000-07-03 11:32:00
在WINDOWS中,应用程序启动后都会在状态行显示一个图标,如何把一个应用程序的图标从状态行去掉?!
...全文
160 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
guohfg 2000-07-03
  • 打赏
  • 举报
回复
在PROJECT模块中加上一句SetWindowLong(Application->Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);就OK了。


WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
SetWindowLong(Application->Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
ploto 2000-07-03
  • 打赏
  • 举报
回复
ShowWindow(Application->Handle,SW_HIDE);
meijg 2000-07-03
  • 打赏
  • 举报
回复
Application中的hide
delphi中是这样写的
showwindow(application.handle,SW_HIDE)
bcb中也差不多,反正是api
longchengdong 2000-07-03
  • 打赏
  • 举报
回复
alexela:
我说的是左边的状态栏,我是想在程序运行时我的程序在左边的状态栏看不见,而程序还在运行中,不是时钟边的系统状态栏。
欢迎指教!
alexela 2000-07-03
  • 打赏
  • 举报
回复
你是指WINDOWS的系统状态栏(时钟边上)还是左边的两个栏?
如果是左边的,直接关闭不就得了。如果是右边的系统状态栏,当然也可以关闭,但如果想不关闭程序而删除图标的话,也不难。
在SHELLAPI.H中的NOTIFYICONDATA结构可帮你:
typedef struct _NOTIFYICONDATA {
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
HINT uCallbackMessage;
HICON hIcon;
char szTip[64];
}NOTIFYICONDATA,*PNOTIFYICONDATA;
填上这个结构,HWND用GETMODULEHANDLE或FINDWINDOWS获得,再调用
Shell_NotifyIcon(dwMessage,pnid)函数(pnid为前面的结构定义,dwMessage有三个值,NIM_ADD、 NIM_DELETE、 NIM_MODIFY,顾名思义,用第二个值就可实现删除图标!!!!!!!!!!!!!)
祝你好运!!!哈哈

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧