右下角系统区图标接收什么消息? 你要用到Shell_TrayIcon()函数。他需要一个参数,他是一个结构的地址,这个结构中的一个成员就是一个消息,这个消息需要你自己定义。具体信息清查阅msdn 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是不是这样:NOTIFYICONDATA xxxx;....xxxx.uCallbackMessage=WM_LBUTTONDBLCLK;.....不行呀。我就是这样用的。我不是往系统区里面加图标。而是问加完了怎么让他响应消息??帮帮忙很急的 MSDN里没你说的这个函数呀。是Shell_NotifyIcon()吧?? #define WM_SHELLNOTIFYICON (WM_USER + 100)void FillNotifyICONData(DWORD dwMessage){ NOTIFYICONDATA NIData; ZeroMemory((PVOID)&NIData, 0); NIData.cbSize = sizeof(NOTIFYICONDATA); NIData.hWnd = g_hServiceWndHandle; NIData.uID = YOURIDI; NIData.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; NIData.uCallbackMessage = WM_SHELLNOTIFYICON; NIData.hIcon = LoadIcon(g_handle, MAKEINTRESOURCE(YOURIDI)); strcpy(NIData.szTip , "some message"); if((dwMessage == NIM_ADD) && (!g_bTaskBarICON) && (Shell_NotifyIcon(NIM_ADD, &NIData))) g_bTaskBarICON = TRUE; if(dwMessage == NIM_DELETE && g_bTaskBarICON && (Shell_NotifyIcon(NIM_DELETE, &NIData))) g_bTaskBarICON = FALSE; return;}WinProc(){ case WM_USER + 100: if((UINT)lParam == WM_LBUTTONUP || (UINT)lParam == WM_RBUTTONUP) { if(GetActiveWindow() != g_hServiceWndHandle) { SetForegroundWindow(g_hServiceWndHandle); PostMessage(hWnd, message, wParam, lParam); } else ShowTaskBarIconMenu(); } break;}大概是这样,变量你自己注意一下. 编译的时候碰到区域语言的怪问题 画图的问题 关于CAtlRegex,求一正则方法 Visual Studio.NET转换Visual C++6.0程序出现错误 谁能给点CGridCtrl方面的指教 出库入库 如何在基于对话框的程序中添加对数据库的访问? SDI问题,很简单 请问那位高手知道#atlimage.h头文件的vc代码?急,谢谢 MFC、DOM模拟网页操作、 csdn有个大的bug! 关于CWnd::GetDlgNextItem(CWnd* pchWnd,BOOL prview = FALSE);
是不是这样:
NOTIFYICONDATA xxxx;
....
xxxx.uCallbackMessage=WM_LBUTTONDBLCLK;
.....不行呀。我就是这样用的。
我不是往系统区里面加图标。而是问加完了怎么让他响应消息??帮帮忙很急的
{
NOTIFYICONDATA NIData; ZeroMemory((PVOID)&NIData, 0);
NIData.cbSize = sizeof(NOTIFYICONDATA);
NIData.hWnd = g_hServiceWndHandle;
NIData.uID = YOURIDI;
NIData.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
NIData.uCallbackMessage = WM_SHELLNOTIFYICON;
NIData.hIcon = LoadIcon(g_handle, MAKEINTRESOURCE(YOURIDI));
strcpy(NIData.szTip , "some message");
if((dwMessage == NIM_ADD) && (!g_bTaskBarICON) && (Shell_NotifyIcon(NIM_ADD, &NIData)))
g_bTaskBarICON = TRUE;
if(dwMessage == NIM_DELETE && g_bTaskBarICON && (Shell_NotifyIcon(NIM_DELETE, &NIData)))
g_bTaskBarICON = FALSE;
return;
}
WinProc()
{
case WM_USER + 100:
if((UINT)lParam == WM_LBUTTONUP || (UINT)lParam == WM_RBUTTONUP)
{
if(GetActiveWindow() != g_hServiceWndHandle)
{
SetForegroundWindow(g_hServiceWndHandle);
PostMessage(hWnd, message, wParam, lParam);
}
else
ShowTaskBarIconMenu();
}
break;
}大概是这样,变量你自己注意一下.