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

时间:2010-05-04 19:24:52  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:, #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,U...
  正文:程序缩成图标! 
/*参数说明: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 lphotoshop/ target=_blank class=infotextkey>pszTip)
{
  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;
}

让程序在前端显示和最小化时在系统栏里》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/VC/2010-05-04/13848.html


关键字:

关于《让程序在前端显示和最小化时在系统栏里》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td