zoukankan      html  css  js  c++  java
  • 最小化托盘程序

    trayDlg.h:

    afx_msg LRESULT onShowTask(WPARAM wParam,LPARAM lParam);
    void Tdehide();
    void dehide();


    trayDlg.cpp:

    #define WM_SHOWTASK WM_USER


    BEGIN_MESSAGE_MAP(CtrayDlg, CDialogEx)
    ON_MESSAGE(WM_SHOWTASK,onShowTask)
    END_MESSAGE_MAP()


    void CtrayDlg::OnBnClickedButton1()
    {
    // TODO: 在此添加控件通知处理程序代码
    dehide();
    ShowWindow(SW_HIDE);


    }

    LRESULT CtrayDlg::onShowTask(WPARAM wParam,LPARAM lParam)
    {
    if (wParam!=IDR_MAINFRAME)
    {
    return 1;
    }

    switch(lParam)
    {
    case WM_RBUTTONUP:
    {
    LPPOINT lpoint=new tagPOINT;
    ::GetCursorPos(lpoint);
    CMenu menu;
    menu.CreatePopupMenu();
    menu.AppendMenu(MF_STRING,WM_DESTROY,_T("关闭"));
    menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint->x,lpoint->y,this);
    HMENU hmenu=menu.Detach();
    menu.DestroyMenu();
    delete lpoint;
    }
    break;
    case WM_LBUTTONDBLCLK:
    {
    this->ShowWindow(SW_SHOW);
    Tdehide();
    }
    break;
    }
    return 0;
    }

    void CtrayDlg::dehide()
    {
    NOTIFYICONDATA tnd;
    tnd.cbSize=sizeof(NOTIFYICONDATA);
    tnd.hWnd=this->m_hWnd;
    tnd.uID=IDR_MAINFRAME;
    tnd.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
    tnd.uCallbackMessage=WM_SHOWTASK;
    //用户自定义的消息,即鼠标在任务栏上程序图标上动作时图标发送的消息
    tnd.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
    strcpy(tnd.szTip,"测试程序");//图标提示为"测试程序"
    Shell_NotifyIcon(NIM_ADD,&tnd);//向任务栏添图标
    }

    void CtrayDlg::Tdehide()
    {
    NOTIFYICONDATA tnd;
    tnd.cbSize=sizeof(NOTIFYICONDATA);
    tnd.hWnd=this->m_hWnd;
    tnd.uID=IDR_MAINFRAME;
    tnd.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
    tnd.uCallbackMessage=WM_SHOWTASK;
    //用户自定义的消息,即鼠标在任务栏上程序图标上动作时图标发送的消息
    tnd.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
    strcpy(tnd.szTip,"测试程序");//图标提示为"测试程序"
    Shell_NotifyIcon(NIM_DELETE,&tnd);//向任务栏删图标
    }



  • 相关阅读:
    Oracle存储过程获取YYYY-MM-DD的时间格式
    EXP/IMP 导出生产库表的指定数据到测试库一例
    java sm4国密算法加密、解密
    oracle 三表关联查询
    oracle 两表关联查询
    oracle 批量更新之将一个表的数据批量更新至另一个表
    js 不固定传参
    CocoaPods为project的全部target添加依赖支持
    QML 开发神奇加成之为网络资源设置本地缓存
    一步步走向国际乱码大赛-- 恶搞C语言
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2221230.html
Copyright © 2011-2022 走看看