c# 程序最小化到系统托盘

本文介绍了如何使用C#编程将应用程序最小化到系统托盘,并通过NotifyIcon控件来管理和恢复窗口状态。同时,通过调用Windows API函数RegisterHotkey和UnregisterHotKey设置系统快捷键,实现快捷方式控制程序的最小化和恢复。提供了一个名为SystemHotkey的外部控件,简化了这一过程。
用过千千静听的都知道该软件能够最小化到右下角的系统托盘中。最近我做了个小工具,也要实现类似功能。就是当点击某个按钮或者是快捷键的时候,程序最小化到系统托盘,再次使用快捷键该程序还原。
   首先是解决如何最小化到系统托盘并恢复的问题:
   办法是使用NotifyIcon控件,该控件就是最小化后看到的那个按钮,主要是配置个漂亮的图标:)。程序中加入如下代码:
   
 1          void  MinimizedToNormal()
 2          {
 3            this.Visible = true;
 4            this.WindowState = FormWindowState.Normal;
 5            notifyIcon1.Visible = false;
 6
 7        }

 8          void  NormalToMinimized()
 9          {
10            this.WindowState = FormWindowState.Minimized;
11            this.Visible = false;
12            this.notifyIcon1.Visible = true;
13        }
NormalToMinimized()是把当前窗体隐藏,并显示托盘通知按钮(这个按钮初始是隐藏的)。
MinimizedToNormal()是重新显示窗体,并把托盘通知按钮隐藏。

   下面解决如何通过快捷键控制最小化到系统托盘和恢复的问题,办法是调用windows api 
   RegisterHotkey()
   UnregisterHotKey()这组api。
   前一个注册一个系统快捷键,当点击该快捷键的时候可以调用NormalToMinimized()和MinimizedToNormal()进行最小化和恢复工作。
   也可以直接用下面这个压缩包中的两个文件,包含在工程中,这个是老外写的系统快捷键控件。非常方便:)
    /Files/dxfcv222/SystemHotkey.rar
   代码如下:
 
 1          void  systemHotkey1_Pressed( object  sender, EventArgs e)
 2          {
 3            if (this.notifyIcon1.Visible)
 4            {
 5                MinimizedToNormal();
 6            }

 7            else
 8            {
 9                NormalToMinimized();
10            }

11        }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值