//.h文件 void toTray();//最小化到托盘 void DeleteTray();//删除托盘图标 afx_msg LRESULT OnShowTask(WPARAM wParam,LPARAM lParam) ;//图标恢复 //.cpp文件 #define WM_SHOWTASK (WM_USER +1) #define IDR_SHOW 11 #define IDR_OTHER 12 #define IDR_EXIT 13 BEGIN_MESSAGE_MAP() ... ON…
框架是用visual studio创建的win32控制台模板,然后自己添加最小化及还原部分代码. 需要额外包含的头文件: #include <shellapi.h> #include <WinUser.h> 方式是在托盘区创建图标,隐藏主窗口. 托盘创建图标: void ToTray(HWND hWnd) { NOTIFYICONDATA nid; nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA); nid.hWnd = hWnd; nid.uI…
Form最小化是指整个Form都缩小到任务栏上,但是窗体以Form的标题栏形式显示在任务栏上, 若是想让Form以Icon的形式显示在任务栏右下角,则需要给Form添加一个NotifyIcon控件. 一.添加NotifyIcon控件 1 如下图为窗体添加一个 NotifyIcon 控件,并指定 Icon 和 Text 属性,如下图: 2 在需要窗体最小化到托盘的处理代码中,添加如下代码: if(this.WindowState==FormWindowState.Normal&&this.V…
首先,先拖一个NotifyIcon到主窗体,然后设置NotifyIcon的图标,不然等下最小化后,都找不到那个程序了,还有那个Text也是,不写名字,就默认是NotifyIcon了..如下图: 然后双击NotifyIcon,代码如下:         /// <summary>         /// 添加双击托盘图标事件(双击显示窗口)         /// </summary>         /// <param name="sender">…
原版是从网上找了一位大神的,自己只是用了一点适合自己的. 具体实现 1.首先已经确认WPF中没有实现最小化托盘的类与方法,用到了winform中的程序集 using Drawing = System.Drawing;using Forms = System.Windows.Forms; 2.XAML的后代相应事件的Demo,只是为了看起来方便~!其中也包含了在任务栏中不现实图标,只在托盘中显示.双击实现窗口的还原.没用到大神写的,自己琢磨了个,令人想不到的蛋疼的后果还没出现,也就暂时这样了. n…
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace notifyIconShow { public partial class ColdJoke : Form {…
所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分.在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区. 一.托盘编程相关函数       把程序放到托盘上的本质就是先在托盘区绘制一个图标,然后把程序隐藏不见,再对托盘的图标进行消息处理,就可以了.       绘制图标以及确定图标所传送消息的函数只有一个: WINSHELLAPI BOOL WINAPI Shell_NotifyIcon(DWORD dwMessage, PN…
在实际操作电脑的过程中,我们常常可以看到一些应用程序可以最小化到桌面右下角的托盘中显示,如一些杀毒软件等开机就显示在托盘中,或是我们常用的QQ等聊天工具,都可以最小化在托盘中,如图-1. 在图-1中,可以看到第一个服务器样式的图标,那个就是我编写的服务器程序最小化在托盘中的显示.其实很简单,只要在程序中加几行代码就可以了.我主要就MFC中基于Dialog对话框的程序作一下简单的介绍.以下是基本步骤: 1.首先建立一个基于对话框的MFC程序: 2.在资源中的Icon中导入一个自己喜欢的图标,ID命…
shell_notifyicon和NOTIFYICONDATA Shell_NotifyIcon函数,向任务栏的状态栏发送一个消息 函数原型 BOOL Shell_NotifIcon( DWORD dwMessage, PNOTIFYICONDATA lpdata ); 参数: dwMessage为输入参数,传递发送的消息,表明要执行的操作.可选的值如下: NIM_ADD 向托盘区域添加一个图标.此时第二个参数lpdata指向的NOTIFYICONDATA结构体中的hWnd和uID成员用来标示这…
#define WM_SHOWTASK (WM_USER + 1) void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { //增加关闭时最小化到托盘的函数 if (nID == SC_CLOSE) //SC_MINIMIZE { ToTray(); return; }…