C#通过写注册表设置程序随系统启动
Posted lfq761204
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#通过写注册表设置程序随系统启动相关的知识,希望对你有一定的参考价值。
要将编写的程序设置成随系统启动,可以通过读写注册表操作实现。有几个要注意的地方:
一是引入Microsoft.Win32这个命名空间,此空间用来提供操作注册表的类—— Registry和RegistryKey;
二是在win7、win10等系统中,系统会拒绝对注册表“LOCAL_MACHINE”的操作,提示“对注册表项“HKEY_LOCAL_MACHINE\\...”的访问被拒绝。”这时可以通过对“HKEY_CURRENT_USER”的操作实现对当前用户的随系统启动功能。
三是在“HKEY_CURRENT_USER”中,设置随系统启动的地址在“HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run”中。
代码如下:
using System.Windows.Forms;
using Microsoft.Win32;
private void SetAutoRun() {
//获取当前应用程序的可执行文件路径(包括可执行文件名称)
//为了避免路径中的“/”和“\\”不统一,所以通过Replace函数统一成“\\”
string appPath = Application.ExecutablePath.Replace('/','\\\\');
//获取文件名
string appName = appPath.Substring(appPath.LastIndexOf("\\\\")+1);
//通过在注册表系统启动项“HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run”中写入当前程序
RegistryKey rKey = Registry.CurrentUser.CreateSubKey("SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run");
rKey.SetValue(appName,appPath);
}
以上是关于C#通过写注册表设置程序随系统启动的主要内容,如果未能解决你的问题,请参考以下文章