您的位置:首页 > 编程语言 > C#

C# 将程序添加到启动项 (写入注册表),及从启动项中删除

2012-06-07 15:00 465 查看
#region 将程序添加到启动项
/// <summary>
/// 注册表操作,将程序添加到启动项
/// </summary>
public static void SetRegistryApp()
{
try
{
Microsoft.Win32.RegistryKey Reg;
string ShortFileName = Application.ProductName;
Reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (Reg == null)
{
Reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
}
Reg.SetValue(ShortFileName, Application.ExecutablePath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
#endregion

#region 将程序从启动项中删除
/// <summary>
/// 注册表操作,删除注册表中启动项
/// </summary>
public static bool DeleteRegisterApp()
{
string ShortFileName = Application.ProductName; //获得应用程序名

try
{
Microsoft.Win32.RegistryKey Reg;
Reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (Reg == null)
{
Reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
}
Reg.DeleteValue(ShortFileName, false);
}
catch (Exception ex)
{
return false;
}

return true;
}
#endregion

/// <summary>
/// 检查当前程序是否在启动项中
/// </summary>
/// <returns></returns>
public static bool CheckExistRegisterApp()
{
string ShortFileName = Application.ProductName; //获得应用程序名
bool bResult = false;

try
{
Microsoft.Win32.RegistryKey Reg;
Reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (Reg == null)
{
Reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
}

foreach (string s in Reg.GetValueNames())
{
if (s.Equals(ShortFileName))
{
bResult = true;
break;
}
}
}
catch (Exception ex)
{
return false;
}

return bResult;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: