有時候我們需要讓軟件安裝好了,開機自動運行,這時我們需要把啟動項加載到注冊表中,需要注意的時現在很多殺毒軟件在其他軟件更改注冊表的時候會有提示,可能會阻止。下面代碼包含增加啟動項到注冊表和刪除啟動項。
//此方法把啟動項加載到注冊表中
//獲得應用程序路徑
string strAssName = Application.StartupPath + @"\" + Application.ProductName + @".exe";
//獲得應用程序名
string ShortFileName = Application.ProductName; RegistryKey rgkRun = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (rgkRun == null)
{
rgkRun = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
}
rgkRun.SetValue(ShortFileName, strAssName);
//此刪除注冊表中啟動項
//獲得應用程序名
string ShortFileName = Application.ProductName; RegistryKey rgkRun = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (rgkRun == null)
{
rgkRun = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
}
rgkRun.DeleteValue(ShortFileName, false);
//此方法把啟動項加載到注冊表中
//獲得應用程序路徑
string strAssName = Application.StartupPath + @"\" + Application.ProductName + @".exe";
//獲得應用程序名
string ShortFileName = Application.ProductName; RegistryKey rgkRun = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (rgkRun == null)
{
rgkRun = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
}
rgkRun.SetValue(ShortFileName, strAssName);
//此刪除注冊表中啟動項
//獲得應用程序名
string ShortFileName = Application.ProductName; RegistryKey rgkRun = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (rgkRun == null)
{
rgkRun = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
}
rgkRun.DeleteValue(ShortFileName, false);