Winform 开机自动启动

private void AutoMenu_Click(object sender, EventArgs e)
        {
            
string strName = Application.ExecutablePath;
            
string strnewName = strName.Substring(strName.LastIndexOf("\\"+ 1);
            
if (AutoMenu.Checked)
            {
                
//修改注册表,使程序开机时不自动执行。  
                this.AutoMenu.Checked = false;
                Microsoft.Win32.RegistryKey Rkey 
= Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
                Rkey.DeleteValue(strnewName, 
false);
                MessageBox.Show(
"程序设置完成!""提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
            
else
            {
                
this.AutoMenu.Checked = true;
                
if (!File.Exists(strName))//指定文件是否存在  
                    return;
                Microsoft.Win32.RegistryKey Rkey 
= Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"true);
                
if (Rkey == null)
                    Rkey 
= Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
                Rkey.SetValue(strnewName, strName);
//修改注册表,使程序开机时自动执行。  
                MessageBox.Show("程序设置完成,重新启动计算机后即可生效!""提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

        }
posted @ 2009-08-24 18:05  陈 锋  阅读(7142)  评论(0编辑  收藏  举报