当前位置:首页 >> 编程开发 >> Visual C++ >> 内容

让程序在前端显示和最小化时在系统栏里

时间:2008/1/5 作者:平凡之路 来源:xuhantao.com 浏览:

程序缩成图标! 

/*参数说明:hWnd,不用多说了吧?

uId,图标排在系统栏中的位置,设为0即可

hIcon,图标

s,鼠标移到图标上要显示的话

*/

/*注意:你必须自定义一个窗口消息MYWM_ICON,

#define MYWM_ICON   (WM_APP+100)

在窗口循环中响应该消息:

case MYWM_ICON:
switch(lParam)
{
   case WM_LBUTTONDOWN:
   case WM_RBUTTONDOWN:
}

以响应鼠标在该程序图标上的击键动作。

如果你想让程序只以图标方式放在系统栏,可以定义窗口属性为WS_EX_TOOLWINDOW或POPUP之类

*/

void PutToTaskBar(HWND hWnd,UINT uId,HICON hIcon,LPCTSTR s)
{
   TrayMessage(hWnd, NIM_ADD, uId,NULL, s);
   TrayMessage(hWnd, NIM_MODIFY, uId,hIcon, s);
}
BOOL TrayMessage(HWND hDlg, DWORD dwMessage, UINT uID, HICON hIcon, LPCTSTR lpszTip)
{
   BOOL res;
   //char szVTip[64];
   NOTIFYICONDATA tnd;
   tnd.cbSize    = sizeof(NOTIFYICONDATA);
   tnd.hWnd    = hDlg;
   tnd.uID      = uID;
   tnd.uFlags    = NIF_MESSAGE|NIF_ICON|NIF_TIP;
   tnd.uCallbackMessage  = MYWM_ICON;
   tnd.hIcon    = hIcon;
   wsprintf(tnd.szTip,lpszTip);
   res = Shell_NotifyIcon(dwMessage, &tnd);
   if (hIcon)
     DestroyIcon(hIcon);
   return res;
}

相关文章
  • 没有相关文章
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 徐汉涛(www.xuhantao.com) © 2024 版权所有 All Rights Reserved.
  • 部分内容来自网络,如有侵权请联系站长尽快处理 站长QQ:965898558(广告及站内业务受理) 网站备案号:蒙ICP备15000590号-1