.NET为我们提供了一个类 RegistryKey 类
它表示windows注册表的顶级结点
Registry.CurrentUser 当前用户注册表
CreateSubKey 创建一个注册表子项或打开进行访问。
DeleteSubKey(String) 删除子项
DeleteValue(String) 删除子项的值
.GetValueNames() //获取该项的值名字。返回字符串数组
//将程序加入注册表以自启
Application.ExecutablePath; //获取程序在目录的路径,包括文件名
Registry.CurrentUser.CreateSubKey(@"SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\RUN\").setvalue(名称,路径);
//程序加入Run 实现自启
//找出启动 注册表的自启程序是否包含某个字符串
var HKLJ = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\RUN\");
//获取注册表启动项
var Runtemps = HKLJ.GetValueNames(); //获取Run项的所有值
//getKeyNames() 是获取项下面的子项
for (int i = 0; i < Runtemps.Length; i++)
{
//这样就得到了run下面的值 就可以对启动项进行操作
if (Runtemps[i].ToString().IndexOf("XUE")!=-1)
{
HKLJ.DeleteValue(Runtemps[i]);//如果该值(程序名称)含有XUE则删除它
//这样就可以删除run下 所有程序含有XUE字符串的启动项了。
}
}