原帖见:
http://expert.csdn.net/Expert/topic/1889/1889252.xml?temp=.6119501再次说明,我想要能够判断出目标程序在托盘区的图标位置,最好能够把它所使用的ICON直接拷出来,我的目标是想要据此对程序状态作出判断,比如QQ是否下线等。

解决方案 »

  1.   

    只要能像SysTrayX那样能提取出程序路径和图标就行了。如何才能从托盘中提取出图标并与程序路径对应?
      

  2.   

    up up uup!up up uup!up up uup!
      

  3.   

    郁闷!CSDN不是有专栏作家吗?这些个小问题就没人能答得上来??
      

  4.   

    系统托盘操作通过函数 Shell_NotifyIcon (UINT message, NOTIFYICONDATA &m_nid); 
    其中公开的只有三种操作 
     NIM_ADD     向托盘中加入一个图标; 
     NIM_MODIFY   修改托盘中的图标
     NIM_DELETE   从托盘中删除一个图标没有获取操。估计你可以采用拦截该程序NIM_MODIFY消息,得到该图标改变。
      

  5.   

    拦截消息,无所谓前或者后,只要你注册了相应的hook消息钩子,该能拦截到,你可以找相应的关于拦截消息的资料。
      

  6.   

    关键是别的程序已经调用NIM_ADD之后如何还能拦截得到?而NIM_DELETE则要等它关闭时才能拦截。NIM_MODIFY倒是可以检测状态的改变,不过如何才能够获得它设置的图标?