C#不登录电脑启动程序

下面我详细讲解一下“C#不登录电脑启动程序”的完整攻略。

1. 如何实现不登录电脑启动程序

实现不登录电脑启动程序的主要步骤是在注册表中添加一个启动项,具体步骤如下:

  1. 创建一个Windows应用程序项目;

  2. Program.csMain方法中添加以下代码:

csharp
RegistryKey run = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
run.SetValue("MyApp", Application.ExecutablePath);

该代码将在注册表的"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"中添加MyApp启动项,并将值设置为当前应用程序的可执行文件路径。

  1. 编译项目,并在管理员权限下运行生成的可执行文件。

这样就可以在电脑开机时启动该应用程序。

2. 示例1

下面是一个示例程序,在开机时自动弹出一个消息框:

using Microsoft.Win32;
using System;
using System.Windows.Forms;

namespace WindowsStartupDemo
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            RegistryKey run = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
            run.SetValue("WindowsStartupDemo", Application.ExecutablePath);

            MessageBox.Show("Startup Demo");
        }
    }
}

3. 示例2

下面是另一个示例程序,在开机时隐藏到系统托盘:

using Microsoft.Win32;
using System;
using System.Windows.Forms;

namespace WindowsStartupDemo
{
    static class Program
    {
        static NotifyIcon _notifyIcon;
        static ContextMenuStrip _notifyIconMenu;

        [STAThread]
        static void Main()
        {
            RegistryKey run = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
            run.SetValue("WindowsStartupDemo", Application.ExecutablePath);

            Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
            _notifyIcon = new NotifyIcon();
            _notifyIcon.Icon = SystemIcons.Application;
            _notifyIcon.Visible = true;
            _notifyIcon.ContextMenuStrip = new ContextMenuStrip();
            _notifyIcon.ContextMenuStrip.Items.Add("Exit", null, Exit_Click);

            Application.Run();
        }

        private static void Application_ApplicationExit(object sender, EventArgs e)
        {
            _notifyIcon.Dispose();
        }

        private static void Exit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}

该程序隐藏在系统托盘中,并包含一个退出的菜单项,可以在右键菜单中选择退出程序。

以上就是关于“C#不登录电脑启动程序”的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#不登录电脑启动程序 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • C#中WPF内存回收与释放LierdaCracker的实现

    C#中WPF内存回收与释放LierdaCracker的实现 在C# WPF应用程序中使用LierdaCracker实现内存回收和释放是非常重要的。下面将详细讲解如何实现这一过程。 为什么需要内存回收和释放 随着应用程序的运行,许多对象和资源被创建和使用。这些对象和资源需要被及时回收和释放,以确保应用程序占用的内存空间不会增长到无法控制的程度。内存回收和释放可…

    C# 2023年6月6日
    00
  • Python3.10和Python3.9版本之间的差异介绍

    Python3.10和Python3.9版本之间的差异介绍 Python 3.10是Python编程语言的最新版本,它相对于Python 3.9有一些新特性和改进,下面我们来具体介绍一下它们之间的不同点。 新特性 parenthesized context managers in comprehensions 在Python 3.10中,可以在列表解析、生成…

    C# 2023年6月7日
    00
  • 深入理解C#之枚举

    深入理解C#之枚举 枚举(Enum)是C#中的一种特殊的数据类型,用于将一些常量值(enumerator)定义为一组有限的可能性,并赋予特定的名称。一般用于管理状态、类型等场景。 枚举的定义 枚举以 enum 关键字开始定义,后面跟着枚举名称和枚举名称的具体值。下面是一个简单的定义: enum WeekDays { Monday, Tuesday, Wedn…

    C# 2023年5月31日
    00
  • C#基于WinForm实现串口通讯

    下面是详细的C#基于WinForm实现串口通讯的攻略,包括必要的示例代码和步骤。 1. 前置知识 在进行串口通讯之前,需要掌握以下基本知识: 串口的通信原理和相关协议 C#的基本语法和WinForm编程基础 .NET Framework中用于串口通讯的命名空间SerialPort的相关使用方法 2. 创建WinForm应用程序 首先,我们需要在Visual …

    C# 2023年5月15日
    00
  • asp.net中的check与uncheck关键字用法解析

    让我们详细讲解一下“asp.net中的check与uncheck关键字用法解析”。 什么是check与uncheck关键字? 在C#中,check与uncheck是两个关键字,主要用于控制整数运算的溢出。check表示启用溢出检查,uncheck表示禁用溢出检查。 为什么需要check与uncheck关键字? 在C#中,整数类型默认是不启用溢出检查的,这就意…

    C# 2023年6月8日
    00
  • C# 如何在MVC3中取消备用控制器的选择

    在MVC3中,如果我们添加了备用控制器,默认情况下,系统会先通过路由规则匹配备用控制器的名称。如果能匹配到,则选择备用控制器进行处理,否则才会选择默认的控制器进行处理。如果我们不希望备用控制器参与到控制器的选择过程中来,我们可以通过以下步骤实现取消备用控制器的选择。 1. 删除备用控制器 我们可以直接将备用控制器所对应的代码文件删除或移动到其他路径下。这样,…

    C# 2023年6月1日
    00
  • ASP.NET Core使用EF保存数据、级联删除和事务使用

    ASP.NET Core是一个开源的Web框架,支持多种平台,包括Windows、macOS和Linux等。在ASP.NET Core中,使用Entity Framework(EF)来操作数据库,可以很方便地进行数据的增删改查等操作。本文将详细介绍ASP.NET Core使用EF保存数据、级联删除和事务使用的完整攻略,同时附带两个示例说明。 一、ASP.NE…

    C# 2023年6月3日
    00
  • Asp.Net 和 AJAX.Net 的区别

    Asp.Net 和 AJAX.Net 都是微软公司开发的技术,它们都可用于 Web 应用程序的开发,但是它们两者之间有一些重要的区别,本文将对其进行详细的讲解。 Asp.Net 和 AJAX.Net 是什么? Asp.Net 是一种 Web 应用程序框架,它能够以更快的速度和更少的代码来构建 Web 应用程序。这个框架采用了用于创建动态 Web 页面的服务端…

    C# 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部