主要是想知道哪些程序使用了TrayIcon?
不知道有没有这方面的API?
请高手指教
thanks

解决方案 »

  1.   

    也就是Tray区的所有icon对应的句柄
      

  2.   

    试试用API HOOK拦截Shell_NotifyIconA()函数
      

  3.   

    To cg1120能说明一下Shell_NotifyIconA()函数吗?
    thanks
      

  4.   

    任务栏也是一个窗口,也有对应的Handle,找到窗口再找上面的图标,我是这样想的,不过我不会做!(请不要砸鸡蛋!!!^_^)
      

  5.   

    WINSHELLAPI BOOL WINAPI Shell_NotifyIcon(
      DWORD dwMessage,         //发送的信息
      PNOTIFYICONDATA pnid     //指向NOTIFYINCONDATA结构体的指针
    )  函数执行成功返回非0,否则返回0其中dwMessage的取值的含义为:
       NIM_ADD:在拖盘中添加一个图标
       NIM_MIDIFY:\\\\修改某个\\
       NIM_DELETE:\\\\删除\\\\
    结构体NOTIFYINCONDATA定义如下:
       typedef struct_NOTIFYICONDATA{
          DWORD cdSize;   //结构体NOTIFYINCONDATA的大小
          HWND hWnd;      //接受拖盘鼠标事件窗口句柄
          UINT uID;       //图标的ID(托盘鼠标事件的wParam值
          UINT uFlags;    //消息的有效范围(低三位有效)
          UINI uCallbackMessage;  //系统送回消息ID
          HICON hIcon;            //显示在托盘中的图标句柄
          char szTip[64];         //鼠标移到图标上时系统显示的提示信息
    }NOTIFYINCONDATA *PNOTIFYINCONDATA其中uFlags的含义:
        NIF_MESSAGE: 0x1,表示参数uCallbackMessage有效
        NIF_ICON:    0x2, 表示参数hIcon有效
        NIF_TIPL:    0x4,表示参数szTip有效呵呵,给点分吧