|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
// Class Name: SShellNotifyIcon
|
|
|
// Description:show ShellNotifyIcon
|
|
|
// Creator: 359501300
|
|
|
// Version: 2014.9.19 - 1.0 - Create
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
#include "SShellNotifyIcon.h"
|
|
|
|
|
|
SShellNotifyIcon::SShellNotifyIcon()
|
|
|
{
|
|
|
memset(&nid,0,sizeof(nid));
|
|
|
}
|
|
|
|
|
|
SShellNotifyIcon::~SShellNotifyIcon()
|
|
|
{
|
|
|
Hide();
|
|
|
}
|
|
|
|
|
|
void SShellNotifyIcon::Create(HWND hOwner,HICON hIcon,UINT uFlags, UINT uCallbackMessage, UINT uId, LPCSTR szTip)
|
|
|
{
|
|
|
IniNotifyIconData(hOwner,hIcon,uFlags, uCallbackMessage, uId, szTip);
|
|
|
}
|
|
|
|
|
|
|
|
|
BOOL SShellNotifyIcon::Show()
|
|
|
{
|
|
|
//未初使化NotifyIconData
|
|
|
if (nid.cbSize != sizeof(NOTIFYICONDATA))
|
|
|
return FALSE;
|
|
|
return Shell_NotifyIcon(NIM_ADD, &nid);
|
|
|
}
|
|
|
|
|
|
BOOL SShellNotifyIcon::Hide()
|
|
|
{
|
|
|
return Shell_NotifyIcon(NIM_DELETE, &nid);
|
|
|
}
|
|
|
|
|
|
void SShellNotifyIcon::IniNotifyIconData(HWND hOwner,HICON hIcon,UINT flags, UINT callbackmsg, UINT ID, LPCSTR szTip)
|
|
|
{
|
|
|
nid.cbSize = sizeof(NOTIFYICONDATA);
|
|
|
nid.hWnd = hOwner;
|
|
|
nid.uID = ID;
|
|
|
nid.uFlags = flags;//NIF_ICON | NIF_MESSAGE | NIF_TIP;
|
|
|
nid.uCallbackMessage = callbackmsg;
|
|
|
nid.hIcon = hIcon;
|
|
|
//_tcscpy_s(nid.szTip, szTip);
|
|
|
strcpy(nid.szTip,szTip);
|
|
|
}
|