`

C#实现winform软件开机自动启动并最小化到系统托盘

    博客分类:
  • .NET
阅读更多

一、开机自动启动:

拖一个CheckBox

1、软件启动时给CheckBox重置状态:

RegistryKey R_local = Registry.LocalMachine;
            RegistryKey R_run = R_local.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
            if (R_run.GetValue("BirthdayTipF") == null)
            {
                checkBox1.Checked = false;
            }
            else
            {
                checkBox1.Checked = true;
            }
            R_run.Close();
            R_local.Close();

2、CheckChanged事件:

private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            string R_startPath = Application.ExecutablePath;
            if (checkBox1.Checked == true)
            {
                RegistryKey R_local = Registry.LocalMachine;
                RegistryKey R_run = R_local.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
                R_run.SetValue("BirthdayTipF", R_startPath);
                R_run.Close();
                R_local.Close();
            }
            else
            {
                try
                {
                    RegistryKey R_local = Registry.LocalMachine;
                    RegistryKey R_run = R_local.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
                    R_run.DeleteValue("BirthdayTipF", false);
                    R_run.Close();
                    R_local.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("您需要管理员权限修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    throw;
                }
               
            }
        }

 二、最小化到系统托盘

拖一个NotifyIcon

设置form的showInTastbar属性为false

this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged);

private void Form1_SizeChanged(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                this.Hide();
                this.notifyIcon1.Visible = true;
            }
        }
        private void notifyIcon1_Click(object sender, EventArgs e)
        {
            this.Visible = true;
            this.WindowState = FormWindowState.Normal;
            this.notifyIcon1.Visible = false;
        }
 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    C# winform 开机自启动时最小化到托盘 双击显示窗体,右击显示菜单

    在C# WinForm应用开发中,我们经常需要实现一些特殊的功能,比如程序开机自启动、最小化到系统托盘、双击或右键操作显示窗体以及定时调用服务。以下将详细介绍这些知识点: 1. **开机自启动**:为了使应用程序在...

    c#winform中怎么将程序最小化到系统托盘

    c#winform中怎么将程序最小化到系统托盘

    实现winform软件最小化到系统托盘

    实现winform软件最小化到系统托盘,防止程序被失误关闭,导致程序无法继续运行。 实现功能:程序启动后,可点击程序关闭按钮,程序自动收缩至右下角的系统托盘。 使用语言:C# 运行环境:windows 注意事项: 1.编译...

    winform最小化到系统托盘

    在Windows桌面应用开发中,"Winform最小化到系统托盘"是一个常见的需求,它使得应用程序在被最小化时不会完全消失,而是隐藏到任务栏的系统托盘区域,这样可以方便用户在不关闭程序的情况下进行其他操作。...

    C# WinForm最小化隐藏到托盘实例

    本实例"**C# WinForm最小化隐藏到托盘实例**"正是针对这一需求,通过源代码演示了如何实现这个功能。 首先,我们需要了解什么是系统托盘。系统托盘,也被称为通知区域,位于Windows任务栏右下角,通常包含各种程序...

    C# winform 开机自启动时最小化到托盘 双击显示窗体,右击显示菜单 FTP文件上传下载(解决多网卡问题)

    在本文中,我们将深入探讨如何使用C# WinForm开发一个具备开机自启动、最小化到系统托盘、双击恢复窗体以及右键菜单功能的应用程序,并集成FTP文件上传和下载功能,同时处理多网卡环境下的网络选择问题。这个项目...

    C#Core演示Winform窗体最小化后,显示到系统托盘上

    以上代码实现了当C# Winform窗体最小化时,自动将其显示到系统托盘的功能。用户可以通过双击系统托盘的图标来恢复窗体。这个功能在很多应用中非常实用,例如音乐播放器、下载工具等,可以提高用户与应用的交互性。 ...

    WinForm实现最小化到系统托盘方法实例详解

    在Windows Forms(WinForm)应用开发中,有时候我们希望用户在点击窗口的最小化按钮时,不是将窗口完全隐藏,而是将其最小化到系统托盘区。这样可以让应用程序在后台继续运行,而不会占用任务栏空间。本篇将详细介绍...

    C# 启动隐藏窗体(只显示托盘)

    在C#编程中,有时我们希望创建一个应用程序,它在启动时不显示主窗口,而是直接最小化到系统任务栏的托盘区域。这样的设计可以使用户界面更加简洁,同时保持程序在后台运行。本文将详细解释如何实现这个功能,主要...

    winform窗体隐藏及最小化到托盘源码

    在某些情况下,开发者可能希望实现窗体的特殊行为,例如隐藏窗体或将其最小化到系统托盘区域,而不是传统地显示在任务栏上。这在设计需要后台运行或者不希望用户频繁打扰的应用时特别有用。本文将详细介绍如何在...

    winform最小化到任务栏

    本文将详细介绍两种方法来实现"WinForm最小化到任务栏"的功能。 ### 方法一:重写WndProc消息处理函数 1. **理解WndProc**:WinForm应用程序通过`WndProc`函数接收并处理来自操作系统的消息。我们可以重写这个函数...

    C# 开机运行和最小化到推盘

    结合以上两种技术,你可以在C#中创建一个能够在开机时自动运行且最小化到系统托盘的应用程序。这样的程序常用于需要后台持续运行的任务,如监控、定时任务等。通过学习和实践这些知识点,开发者可以提升自己的C#编程...

    C# winform 最小化到右下角

    在C# WinForm应用开发中,我们经常遇到需求,希望应用程序窗口在点击最小化按钮时,不是消失在任务栏中,而是像QQ等软件一样,悬浮显示在屏幕右下角的任务托盘区域。这个功能的实现涉及到WinForm的自定义窗体行为...

    C# WinForm窗口最小化到系统托盘

    添加窗体最小化事件(首先需要添加事件引用): 代码如下:this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged); //上面一行是主窗体InitializeComponent()方法中需要添加的引用 private void Form1_...

    快捷键将应用程序最小化至托盘

    在Windows桌面应用开发中,有时候我们希望实现类似QQ的功能,即通过快捷键操作将应用程序窗口最小化到系统托盘区,而不是直接隐藏或关闭。这种功能可以为用户提供更便捷的操作体验,让他们能够在不占据屏幕空间的...

    c# winform程序右下角通知实现实例NotifyIcondemo

    在C# WinForm应用程序开发中,`NotifyIcon`组件是一个非常重要的工具,它允许程序员在系统托盘(屏幕右下角)显示一个图标,并通过该图标提供用户通知和交互功能。`NotifyIcon`实例通常用于那些不需要在任务栏中显示...

    c# winform 右下角弹出窗口

    在C# WinForm应用开发中,右下角弹出窗口通常被称为系统托盘通知或气泡提示,这种功能常用于在程序最小化到系统托盘时显示消息或者提供非阻塞式的用户交互。下面我们将详细探讨如何实现这个功能。 首先,我们需要...

Global site tag (gtag.js) - Google Analytics