当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++基础入门教程

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

    程序缩成图标!

    /*参数说明: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 lpsztip)
{
    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;
}

相关内容
赞助商链接