shell_notifyicon和NOTIFYICONDATA Shell_NotifyIcon函数,向任务栏的状态栏发送一个消息 函数原型 BOOL Shell_NotifIcon( DWORD dwMessage, PNOTIFYICONDATA lpdata ); 参数: dwMessage为输入参数,传递发送的消息,表明要执行的操作.可选的值如下: NIM_ADD 向托盘区域添加一个图标.此时第二个参数lpdata指向的NOTIFYICONDATA结构体中的hWnd和uID成员用来标示这…
在VC++中,想实现最小化MFC程序的时候,最小化到系统托盘,需要调用NOTIFYICONDATA类 下面我们就来讲解一下如何简单实现一个系统托盘我们以对话框程序为列 第一步:在Dlg类中//定义一个NOTIFYICONDATA类的成员变量,用来设置托盘 NOTIFYICONDATA NotifyIcon; 第二步:声明一个消息响应函数 afx_msg void OnNotifyIcon(WPARAM wParam,LPARAM IParam); 上面那条代码也放在Dlg的头文件中 第三步:定义…
#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; }…
所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分.在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区. 一.托盘编程相关函数       把程序放到托盘上的本质就是先在托盘区绘制一个图标,然后把程序隐藏不见,再对托盘的图标进行消息处理,就可以了.       绘制图标以及确定图标所传送消息的函数只有一个: WINSHELLAPI BOOL WINAPI Shell_NotifyIcon(DWORD dwMessage, PN…
在VC++中,想实现将MFC最小化到系统托盘,需要调用NOTIFYICONDATA类,并注册相应的消息,以下详细讲解如何实现: 1.声明一个NOTIFYICONDATA类,也就是NOTIFYICONDATA NotifyIcon;该句可以放在Dlg类的声明中,作为Dlg类的一个成员:也可以放在Dlg类的实现中,作为全局变量来使用. 2.声明一个响应函数afx_msg LRESULT OnClickTray(WPARAM wParam,LPARAM IParam);用于响应鼠标操作.将这个函数放入…
//.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…
在实际操作电脑的过程中,我们常常可以看到一些应用程序可以最小化到桌面右下角的托盘中显示,如一些杀毒软件等开机就显示在托盘中,或是我们常用的QQ等聊天工具,都可以最小化在托盘中,如图-1. 在图-1中,可以看到第一个服务器样式的图标,那个就是我编写的服务器程序最小化在托盘中的显示.其实很简单,只要在程序中加几行代码就可以了.我主要就MFC中基于Dialog对话框的程序作一下简单的介绍.以下是基本步骤: 1.首先建立一个基于对话框的MFC程序: 2.在资源中的Icon中导入一个自己喜欢的图标,ID命…
原版是从网上找了一位大神的,自己只是用了一点适合自己的. 具体实现 1.首先已经确认WPF中没有实现最小化托盘的类与方法,用到了winform中的程序集 using Drawing = System.Drawing;using Forms = System.Windows.Forms; 2.XAML的后代相应事件的Demo,只是为了看起来方便~!其中也包含了在任务栏中不现实图标,只在托盘中显示.双击实现窗口的还原.没用到大神写的,自己琢磨了个,令人想不到的蛋疼的后果还没出现,也就暂时这样了. n…
有些邮件是需要马上处理的,因此希望能在收到邮件之后马上就知道,但是有不希望频繁的去检查有没有.outlook可以帮我们轻松做到新邮件到达提醒. 一 .设置outlook新邮件到达提醒:选项->电子邮件选项->高级电子邮件选项->选中新邮件到达桌面通知即可. 二 .為實現最小化到托盘,必须保证outlook启动.outlook启动后最小化总是在任务栏上占一个位置,工作起来碍事,所以希望它能够最小化到托盘,以下方法可以帮你实现: 1.打开注册表 : 开始菜单 -> 运行, 输入&quo…
原文 (WinForm)文件夹状态监控,最小化到托盘,开机自启动 . 文件夾監控(監測文件夾中的文件動態): //MSDN上的例子 public class Watcher { public static void Main() { Run(); } [PermissionSet(SecurityAction.Demand, Name = "FullTrust")] public static void Run() { string[] args = System.Environmen…
Form最小化是指整个Form都缩小到任务栏上,但是窗体以Form的标题栏形式显示在任务栏上, 若是想让Form以Icon的形式显示在任务栏右下角,则需要给Form添加一个NotifyIcon控件. 一.添加NotifyIcon控件 1 如下图为窗体添加一个 NotifyIcon 控件,并指定 Icon 和 Text 属性,如下图: 2 在需要窗体最小化到托盘的处理代码中,添加如下代码: if(this.WindowState==FormWindowState.Normal&&this.V…
添加notifyIcon控件,并添加Icon,否则托盘没有图标(托盘右键菜单也可直接在属性里添加): 主要的代码: public partial class Form1 : Form { #region //创建NotifyIcon对象 NotifyIcon notifyicon = new NotifyIcon(); //创建托盘图标对象 Icon ico = new Icon("u9.ico"); //创建托盘菜单对象 ContextMenu notifyContextMenu =…
第三方RC控件的安装 浏览器搜索Delphi Rz控件下载,找到下载一个安装文件,解压后点击RC3.exe一键安装. Delphi WinFrm工程最小化到托盘 Delphi新建WinFrm工程,在主窗体上添加TRzTrayIcon.TImageList和TPopupMenu.此时运行工程,点击最小化即可实现到托盘的效果. 系统最小化时实现提示信息 选中RzTrayIcon,单击F11,选择Events,双击OnMinimizeApp,写如下代码: procedure TForm1.RzTray…
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可.   目录 前言 将VMware最小化到托盘栏的方法 1.下载 Trayconizer 2.解压 trayconizerw.zip 3.创建 VMware 快捷方式 4.修改 VMware 快捷方式 5.运行 前言 因为一直要用到虚拟机,每次最小化的时候,总是占用任务栏,很不爽,于是在网上搜索了一番,终于找到一个可以用的方法. 将VMware最小化到托盘栏的方法 首先下载一个软件,叫做Trayconizer…
目录 前言 将VMware最小化到托盘栏的方法 1.下载 Trayconizer 2.解压 trayconizerw.zip 3.创建 VMware 快捷方式 4.修改 VMware 快捷方式 5.运行 前言 因为一直要用到虚拟机,每次最小化的时候,总是占用任务栏,很不爽,于是在网上搜索了一番,终于找到一个可以用的方法. 将VMware最小化到托盘栏的方法 首先下载一个软件,叫做Trayconizer,最好把这个文件放在固定的目录下,比如我放在了D盘下的ProgramFiles目录下. 1.下载…
框架是用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…
首先,先拖一个NotifyIcon到主窗体,然后设置NotifyIcon的图标,不然等下最小化后,都找不到那个程序了,还有那个Text也是,不写名字,就默认是NotifyIcon了..如下图: 然后双击NotifyIcon,代码如下:         /// <summary>         /// 添加双击托盘图标事件(双击显示窗口)         /// </summary>         /// <param name="sender">…
1.设置窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标. 3.添加窗体最小化事件(首先需要添加事件引用): // this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged); //上面一行是主窗体InitializeComponent()方法中需要添加的引用 private void Form1_SizeCha…
实现前先拉一个notifyIcon控件,在Icon属性中加入一个ICON小图标,然后具体的代码实现如下: 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 Not…
1.拖取NotifyIcon控件.将该控件的visible设成false. 2.指定NotifyIcon的Icon(很重要,否则最小化后找不到窗口). 3.找到window的SizeChanged事件: private void Form1_SizeChanged(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.ShowInTaskbar = false; //不显示在…
1.new -->application 2.在form1中加入一个tPopMenu 命名为pm1 3.uses ShellAPI; 4.定义一个常量在 const WM_TRAYMSG = WM_USER + 101; 5.在private中生命变量 NotifyIcon: TNotifyIconData; 6.声明两个消息 procedure TfrmMain.WMSysCommand(var Msg: TMessage); begin if Msg.WParam = SC_ICON the…
1.new -->application 2.在form1中加入一个tPopMenu 命名为pm1 3.uses ShellAPI; 4.定义一个常量在 const WM_TRAYMSG = WM_USER + 101; 5.在private中生命变量 NotifyIcon: TNotifyIconData; 6.声明两个消息 procedure TfrmMain.WMSysCommand(var Msg: TMessage); begin if Msg.WParam = SC_ICON the…
托盘程序的制作: 1.添加notifyIcon控件,并添加Icon,否则托盘没有图标(托盘右键菜单也可直接在属性里添加):2.响应Form的Resize或SizeChanged消息: // Hide to system tray private void Form1_Resize(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.Hide(); this.ShowInTa…
STEP1.添加托盘图标控件NotifyIcon(直接从工具箱中拖动添加即可) STEP2.添加(重写)窗口尺寸变动函数Form1_Resize private void Main_SizeChanged(object sender, EventArgs e)        {            if (this.WindowState == FormWindowState.Minimized)            {                notifyIcon1.Visible…
1.minisysDlg.h头文件设置: 1)public: void setTray();//设置托盘    NOTIFYICONDATA nid;//NOTIFYICONDATA结构包含了系统用来处理托盘图标的信息 2)protected: // Generated message map functions    //{{AFX_MSG(CminisysDlg)    afx_msg LRESULT onShowTask(WPARAM wParam,LPARAM lParam); //}}…
在Delphi 7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本.定义如下: 123456789   _NOTIFYICONDATAA = record   cbSize: DWORD;   Wnd: HWND;   uID: UINT;   uFlags: UINT;   uCallbackMessage: UINT;   hIcon: HICON;   szTip: array [0..63] of Ansi…
预备知识: Windows API函数: WINSHELLAPI BOOL WINAPI Shell_NotifyIcon( DWORD dwMessage, PNOTIFYICONDATA pnid ); 该函数的两个参数: 第一个参数dwMessage可以取以下值: NIM_ADD          向托盘中加入一个图标:NIM_MODIFY      修改托盘中的图标NIM_DELETE       从托盘中删除一个图标 第二个参数pnid是NOTIFYICONDATA结构的一个引用.该结…
在Delphi 7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本.定义如下: 123456789   _NOTIFYICONDATAA = record   cbSize: DWORD;   Wnd: HWND;   uID: UINT;   uFlags: UINT;   uCallbackMessage: UINT;   hIcon: HICON;   szTip: array [0..63] of Ansi…
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 {…
1.拉出一个notifyIcon1到用户界面,也可以NEW一个 2.拉出一个ContextMenuStrip控件,命名为mymenu,集合中增加退出 3.notifyIcon1的属性ContextMenuStrip 增加 myMenu;或者this.notifyIcon1.ContextMenuStrip = myMenu; private void FrmMain_Load(object sender, EventArgs e) { //最小化到托盘 // this.notifyIcon1 =…