托盘图标的添加和消息响应

原创 2012年03月23日 13:23:05

1.如何添加一个托盘图标

#define WM_ICON_NOTIFY        WM_USER + 2
...
BOOL CMyDlg::OnInitDialog()
{
	...
	NOTIFYICONDATA nid;

	nid.cbSize = sizeof nid;
	nid.hWnd = GetSafeHwnd();
	nid.uID = IDR_MAINFRAME;
	nid.hIcon = m_hIcon;
	nid.uCallbackMessage = WM_ICON_NOTIFY;
	nid.uFlags = NIF_MESSAGE | NIF_ICON;

	Shell_NotifyIcon(NIM_ADD, &nid);
    ...
    

2.如何给托盘图标添加消息响应

BEGIN_MESSAGE_MAP(CMyDlg, CDHtmlDialog)
...
	ON_MESSAGE(WM_ICON_NOTIFY, &CMyDlg::OnIconNotify)
END_MESSAGE_MAP()


afx_msg LRESULT CMyDlg::OnIconNotify(WPARAM wParam, LPARAM lParam)
{
	switch(lParam)
	{
	case WM_LBUTTONUP:
    case WM_RBUTTONUP:
		SendMessage(WM_SYSCOMMAND, SC_RESTORE);
		SetForegroundWindow();
        break;
	default:
		break;
	}
    return 0;
}


关于系统响应函数OnSysCommand及托盘Shell_NotifyIcon()等

void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam)这个函数响应系统控制菜单的命令.(即左上角图标处)。OnSysCommand:The frame...
  • zgbsoap
  • zgbsoap
  • 2006年03月24日 00:25
  • 6939

c++如何设置托盘图标并闪烁

首先要用到头文件 #include"shellapi.h" 然后,定义一个托盘对象 NOTIFYICONDATA nid = { 0 };//托盘图标 接着,我们需要填充里面的值 nid.c...

c++实现系统托盘图标

 自从微软公司推出Windows 95操作系统以来,系统托盘应用作为一种极具吸引力的用户界面设计深受广大用户的喜爱。使用系统托盘作为用户界面的Windows应用程序数不胜数,比如"金山词霸"、"Win...

windows程序托盘图标以及消息提示--示例程序

之前两个博客介绍一些基本姿势,都是msdn上的,今天就介绍一下如何使用吧。 为了简单起见,还是创建一个MFC based on dialog 功能吧。 1创建托盘图标,封装了成一个函数: ...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

托盘图标不响应消息 已解决

使用该结构NOTIFYICONDATA实现系统托盘图标都会存在一个问题:托盘图标不响应消息;这里给出关键的代码,即可简单解决这个问题const  WM_BARICON = WM_USER+1000; ...
  • god00
  • god00
  • 2011年04月09日 09:06
  • 371

托盘图标管理器与跨进程SendMessage

通过Spy++可以看出,系统托盘图标是一个ToolbarWindow32控件,要对其进行控制,只要用FindWindow和FindWindowEx找到其句柄,并发送ToolbarWindow32支持的...

Flex AIR 做一个类似QQ消息提示在系统托盘闪烁图标

来源:http://forum.airia.cn/archiver/FLEX/thread-14645-1.html 用Flex AIR 做一个类似QQ消息提示在系统托盘闪烁图标...

windows程序托盘图标以及消息提示--基本知识(Shell_NotifyIcon)

之前说了NOTIFYICONDATA结构体的一些内容,下面继续。Shell_NotifyIcon函数,向任务栏的状态栏发送一个消息。原型如下:BOOL Shell_NotifyIcon(DWORD d...

qt类似于qq托盘图标闪烁的消息提示

times=new QTimer (this);     times->setSingleShot(false);//true 表示循环一次 表示循环无数次     times->setI...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:托盘图标的添加和消息响应
举报原因:
原因补充:

(最多只允许输入30个字)