S.l.e!ep.¢%

像打了激速一样,以四倍的速度运转,开心的工作
简单、开放、平等的公司文化;尊重个性、自由与个人价值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

VC2008中关于托盘气泡提示的问题

Posted on 2010-02-14 23:59 S.l.e!ep.¢% 阅读(1483) 评论(0)  编辑 收藏 引用 所属分类: VC
VC2008中关于托盘气泡提示的问题
2010年01月14日 星期四 15:41

不弹出气泡的问题在targetver.h头文件中

将0x0600都改成0x0501 ,如下所示:

#pragma once

// 以下宏定义要求的最低平台。要求的最低平台
// 是具有运行应用程序所需功能的 Windows、Internet Explorer 等产品的
// 最早版本。通过在指定版本及更低版本的平台上启用所有可用的功能,宏可以
// 正常工作。

// 如果必须要针对低于以下指定版本的平台,请修改下列定义。
// 有关不同平台对应值的最新信息,请参考 MSDN。
#ifndef WINVER                          // 指定要求的最低平台是 Windows Vista。
#define WINVER 0x0501           // 将此值更改为相应的值,以适用于 Windows 的其他版本。
#endif

#ifndef _WIN32_WINNT            // 指定要求的最低平台是 Windows Vista。
#define _WIN32_WINNT 0x0501     // 将此值更改为相应的值,以适用于 Windows 的其他版本。
#endif

#ifndef _WIN32_WINDOWS          // 指定要求的最低平台是 Windows 98。
#define _WIN32_WINDOWS 0x0410 // 将此值更改为适当的值,以适用于 Windows Me 或更高版本。
#endif

#ifndef _WIN32_IE                       // 指定要求的最低平台是 Internet Explorer 7.0。
#define _WIN32_IE 0x0700        // 将此值更改为相应的值,以适用于 IE 的其他版本。
#endif
在CWnd::OnSize中确定是否触发最小化并隐藏窗口,添加系统托盘

if(nType==SIZE_MINIMIZED)
{

NOTIFYICONDATA m_Htnd;
m_Htnd.cbSize = sizeof(NOTIFYICONDATA);
m_Htnd.hWnd = this->m_hWnd;
m_Htnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
m_Htnd.uCallbackMessage = WM_MYMESSAGE;
m_Htnd.hIcon = LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
m_Htnd.uID = IDR_MAINFRAME;
wcscpy_s(m_Htnd.szTip,_T("托盘示例"));
Shell_NotifyIcon(NIM_ADD,&m_Htnd);
ShowWindow(SW_HIDE);
ShowInfo();
}

void CTimingDlg::ShowInfo()
{
m_Htnd.cbSize = sizeof(NOTIFYICONDATA);
m_Htnd.hWnd = GetSafeHwnd();
m_Htnd.uFlags = NIF_INFO;
m_Htnd.uID=IDR_MAINFRAME;
m_Htnd.dwInfoFlags=1;
m_Htnd.uTimeout = 3000;
wcscpy(m_Htnd.szInfoTitle,_T("气泡标题"));
wcscpy(m_Htnd.szInfo,_T("气泡内容"));
Shell_NotifyIcon(NIM_MODIFY,&m_Htnd);
}


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理