WIN32API 实现托盘里的气球(tips)制作

VC6自带的ShellApi.h和Shell32.lib库文件版本太旧,不提供对系统托盘API新特性的支持。

升级SDK 参见全面升级Visual C++ 6.0 

 http://bbs.linuxphp.org/thread-936-1-1.html  

定义在stdafx.h文件   
#define   _WIN32_IE   0x0500  

要包含的头文件  
#include   <shellapi.h>   
#pragma   comment(lib,   "shellapi.lib")

两个函数

C++代码
  1. void BuildTrayIcon(HWND hwnd) //最小化到托盘    
  2. {   
  3.   
  4.     NOTIFYICONDATA notifyIconData;   
  5.     ZeroMemory( ¬ifyIconData, sizeof( notifyIconData ) );   
  6.     notifyIconData.cbSize           = sizeof( notifyIconData );   
  7.     notifyIconData.uFlags           = NIF_ICON | NIF_MESSAGE | NIF_TIP|NIF_INFO;   
  8.     notifyIconData.hIcon            = LoadIcon((HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE) ,   
  9.         MAKEINTRESOURCE(IDI_ICONAPP));   
  10.     notifyIconData.uID              = IDI_ICONAPP;    
  11.     notifyIconData.hWnd             = hwnd;   
  12.     notifyIconData.uCallbackMessage = WM_CLICKBIT; //自定义消息,在Myfunction.h中定义   
  13.     lstrcpy(notifyIconData.szTip, TEXT("倒计时"));   
  14.   
  15.     notifyIconData.dwState =    
  16.     notifyIconData.uTimeout = 5000/*超时毫秒数*/;        
  17.     notifyIconData.dwInfoFlags = NIIF_NONE;      
  18.     lstrcpy(notifyIconData.szInfoTitle,   TEXT("托盘化;-):"));   
  19.     lstrcpy(notifyIconData.szInfo,   TEXT("没有关闭哦。 嘿嘿~~~"));      
  20.   
  21.     Shell_NotifyIcon( NIM_ADD, ¬ifyIconData );   
  22. }   
  23. //销毁系统托盘图标    
  24. void DestroyTrayIcon(HWND hwnd)                
  25. {   
  26.     NOTIFYICONDATA notifyIconData;   
  27.     ZeroMemory(¬ifyIconData, sizeof(notifyIconData));   
  28.     notifyIconData.cbSize = sizeof( notifyIconData );    
  29.     notifyIconData.uID    = IDI_ICONAPP;   
  30.     notifyIconData.hWnd   = hwnd;   
  31.     Shell_NotifyIcon(NIM_DELETE, ¬ifyIconData);     
  32. }  

 

参考:

http://www.rupeng.com/forum/thread-1474-1-1-uid23377.html

上一篇: php 数据导出TXT   下一篇: _beginthread()与CreateThread()的区别

提交疑问

回顶部