问下这里的各位朋友,在窗口最小化时,变成系统托盘图标,右键点击系统托盘图标时,会弹出菜单,左键点系统托盘图标时,会弹出那个窗口。想问下实现的原理是什么,据说好像是跟某个消息有关,希望大家讲下这个,另外问下,有没有比较完整的这方面的VC源码可以看。

解决方案 »

  1.   

    托盘 图标 http://hi.baidu.com/hlwang/blog/item/5c77b0c3cfd78951b219a849.html
      

  2.   

    http://blog.csdn.net/hityct1/archive/2007/12/05/1918285.aspx主要时使用api函数Shell_NotifyIcon。
      

  3.   


    Adding Icons to the System Tray
    http://www.codeproject.com/KB/applications/ShellTrayInfo.aspx托盘图标没啥说的,Shell_NotifyIcon(NIM_ADD, xxx)、Shell_NotifyIcon(NIM_DELETE, xxx)
      

  4.   

    右键点击托盘图标,显示一个弹出菜单,这个应该怎么做哦,书上说VC里处理右键弹出菜单,都是在响应WM_CONTEXTMEUN消息时调用TrackPopupMenu,传递给这个消息处理程序有两个参数,一个是光标的屏幕坐标,一个是指向发生右键单击时光标所在的子窗口的指针。现在右键点击的托盘图标,怎么来响应这个消息了?
      

  5.   

    创建图标用Shell_NotifyIcon函数,其中第2参数是一个NOTIFYICONDATA结构,结构中hWnd给窗口句柄,uCallbackMessage给一个自定义消息,例如WM_USER+100,当用鼠标对托盘图标操作时,窗口会收到这个消息。详细情况参考MSDN中Shell_NotifyIcon的说明。