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);//向任务栏删图标
    }



  • 相关阅读:
    【.NET】VS2013创建Windows服务与调试服务
    【JS】处理数据四舍五入(tofixed与round的区别详解)
    【微信小程序】 基础语义笔记2:基本组件、获取节点信息
    面向对象和面向过程的优点和缺点
    【微信小程序】 基础语义笔记1:配置、页面文件、组件。
    【微信小程序】 wxParse组件
    zookeeper 碎片知识点
    zookeeper 基本概念
    RocketMQ 知识点
    单例模式---双层检验锁+volatile
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2221230.html
Copyright © 2011-2022 走看看