VC6+XP 气泡提示

 

#ifndef MY_NOTIFYICONDATA
#define MY_NOTIFYICONDATA


Tray notification definitions

typedef struct _NOTIFYICONDATAA_M {
 DWORD cbSize;
 HWND hWnd;
 UINT uID;
 UINT uFlags;
 UINT uCallbackMessage;
 HICON hIcon;

 CHAR szTip[128];

 DWORD dwState;
 DWORD dwStateMask;
 CHAR szInfo[256];
 union {
  UINT uTimeout;
  UINT uVersion;
 } DUMMYUNIONNAME;
 CHAR szInfoTitle[64];
 DWORD dwInfoFlags;


 GUID guidItem;

} NOTIFYICONDATAA_M, *PNOTIFYICONDATAA_M;


#define NOTIFYICONDATAA_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAA_M, szTip[64])


#define NOTIFYICONDATA_V1_SIZE NOTIFYICONDATAA_V1_SIZE


#define NOTIFYICONDATAA_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAA_M, guidItem)

 

#define NOTIFYICONDATA_V2_SIZE NOTIFYICONDATAA_V2_SIZE


#define NIN_SELECT (WM_USER + 0)
#define NINF_KEY 0x1
#define NIN_KEYSELECT (NIN_SELECT | NINF_KEY)


#define NIN_BALLOONSHOW (WM_USER + 2)
#define NIN_BALLOONHIDE (WM_USER + 3)
#define NIN_BALLOONTIMEOUT (WM_USER + 4)
#define NIN_BALLOONUSERCLICK (WM_USER + 5)

#define NIM_ADD 0x00000000
#define NIM_MODIFY 0x00000001
#define NIM_DELETE 0x00000002


#define NIM_SETFOCUS 0x00000003
#define NIM_SETVERSION 0x00000004
#define NOTIFYICON_VERSION 3


#define NIF_MESSAGE 0x00000001
#define NIF_ICON 0x00000002
#define NIF_TIP 0x00000004

#define NIF_STATE 0x00000008
#define NIF_INFO 0x00000010

#if (_WIN32_IE >= 0x600)
#define NIF_GUID 0x00000020
#endif

#define NIS_HIDDEN 0x00000001
#define NIS_SHAREDICON 0x00000002
// says this is the source of a shared icon
// Notify Icon Infotip flags
#define NIIF_NONE 0x00000000
// icon flags are mutually exclusive
// and take only the lowest 2 bits
#define NIIF_INFO 0x00000001
#define NIIF_WARNING 0x00000002
#define NIIF_ERROR 0x00000003
#define NIIF_ICON_MASK 0x0000000F
#if (_WIN32_IE >= 0x0501)
#define NIIF_NOSOUND 0x00000010

#endif

#endif
#if  0 //示例代码
int cbSize=0;
if(IsVista || IsWin7)

 cbSize = sizeof(NOTIFYICONDATAA_M);
}
else if(IsWinXP)

 cbSize = sizeof(_NOTIFYICONDATAA_M);
}
else if(IsWin2K)

 cbSize = NOTIFYICONDATA_V2_SIZE;
}
else

 cbSize = NOTIFYICONDATA_V1_SIZE;
}
NotifyIconData=(NOTIFYICONDATAA*)malloc(cbSize);
ZeroMemory(NotifyIconData, sizeof(*NotifyIconData));
NotifyIconData->cbSize=cbSize;

NotifyIconData->hWnd=this->m_hWnd;
NotifyIconData->hIcon=AfxGetApp( )->LoadIcon(IDI_ICON1);

NotifyIconData->uFlags=NIF_MESSAGE | NIF_ICON | NIF_TIP |NIF_INFO;
NotifyIconData->uID=1000;
((NOTIFYICONDATAA_M*)NotifyIconData)->dwInfoFlags=NIIF_INFO;
((NOTIFYICONDATAA_M*)NotifyIconData)->uTimeout=1000;
// NotifyIconData.uVersion=NOTIFYICON_VERSION;
((NOTIFYICONDATAA_M*)NotifyIconData)->dwState=NIS_SHAREDICON;/
((NOTIFYICONDATAA_M*)NotifyIconData)->dwStateMask=NIS_SHAREDICON;

 

_tcscpy(NotifyIconData->szTip,szBallomTipTitle);
_tcscpy(((NOTIFYICONDATAA_M*)NotifyIconData)->szInfoTitle,szBallomTipTitle);//,_tcslen(szBallomTipTitle));//szBallomTipTitle
_tcscpy(((NOTIFYICONDATAA_M*)NotifyIconData)->szInfo,szBallomTip);

  Shell_NotifyIcon(NIM_ADD,NotifyIconData);
#endif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值