最小化托盘的实现方法

本文介绍了如何使用MFC实现将应用程序最小化到托盘区域的技巧。关键在于Shell_NotifyIcon函数,用于添加、修改或删除托盘图标,并通过NOTIFYICONDATA结构体设置图标信息。当用户点击托盘图标时,程序会接收到自定义消息进行相应操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在书上看到的,觉得有用,记下了。

首先,最小化托盘的基本原理是,将应用程序的主窗体隐藏,然后在托盘中绘制应用程序的图标。然后再为托盘图标添加一些事件处理。

核心函数是Shell_NotifyIcon()函数,负责向系统传递消息,添加、修改或删除托盘区的图标。原型:

WINSHELLAPI BOOL WINAPI Shell_NotifyIcon(

DWORD dwMessage,

PNOTIFYCONDATA pnid

);

其中dwMessage标示功能,有NIM_ADD/NIM_DELETE/NIM_MODIFY。

pnid是程序最小化到托盘的图标信息结构体:

typedef struct _NOTIFYCONDATA {

DOWRD cbSize; //结构的长度

HWND hWnd;

UINT uID; //图标ID

UINT uFlags; //标志着其他哪些成员数据的有效性?

UINT uCallbackMessage; //当用户单击托盘区图标时会向窗口发送消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值