请问托盘程序如何向当前窗口的焦点输出字符串?谢谢!在线等。

解决方案 »

  1.   

    SOFT_NAME 就是你要输出的字符串 NOTIFYICONDATA    m_tnid; //系统托盘图标数据
    HWND    g_hwnd;//主窗体句柄
    //////////////////////////////////////////////////////////////////////////
    // 建立系统托盘     //
    //////////////////////////////////////////////////////////////////////////
    void InitSalver()
    {
    //在系统托盘中创建图标
    m_tnid.cbSize = sizeof(NOTIFYICONDATA);
    m_tnid.hWnd = g_hwnd; //句柄
    m_tnid.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
    m_tnid.uCallbackMessage = WM_NOTIFYICON; //回调消息号 strcpy(m_tnid.szTip, SOFT_NAME); //Hint  SOFT_NAME 就是你要输出的字符串
    m_tnid.uID = IDR_MAINFRAME; //图标ID
    HICON  hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    m_tnid.hIcon = hIcon;
    ::Shell_NotifyIcon(NIM_ADD, &m_tnid);
    if(hIcon)
    ::DestroyIcon(hIcon);
    }//////////////////////////////////////////////////////////////////////////
    // 释放系统托盘资源 //
    //////////////////////////////////////////////////////////////////////////
    void UnitSalver()
    {
    //释放系统托盘中程序图标
    NOTIFYICONDATA tnid;
    tnid.cbSize=sizeof(NOTIFYICONDATA);
    tnid.hWnd = g_hwnd;
    tnid.uID=IDR_MAINFRAME; //保证删除的是我们的图标
    Shell_NotifyIcon(NIM_DELETE,&tnid);
    }