WinForm程序开机自动启动,并自动登录进入主界面

一。wimform如何设置开机自动启动

在项目的Program.csWinForm程序开机自动启动,并自动登录进入主界面_第1张图片
第一种方式:
///
/// 开机自启
///
public static void Fun_AutoStart(bool isAutoRun = true)
{
try
{
string path = Application.ExecutablePath;
RegistryKey rk = Registry.LocalMachine;
RegistryKey rk2 = rk.CreateSubKey(@“Software\Microsoft\Windows\CurrentVersion\Run”);
if (isAutoRun)
rk2.SetValue(“System Security”, path); //rk2.DeleteValue(“OIMSServer”, false);
else
rk2.DeleteValue(“System Security”, false);
rk2.Close();
rk.Close();
}
catch
{
MessageBox.Show(“开机自动启动服务注册被拒绝!请确认有系统管理员权限!”);
}
}
第二种: ///
/// 设置开机自动启用
///
private static void SetAutoStart()
{
try
{
string regPath = “SOFTWARE\Microsoft\Windows\CurrentVersion\Run”;
string path = Application.ExecutablePath.ToLower(); //将当前程序起动路径
MessageBox.Show(path);
string name =Application.ExecutablePath; //获得应用程序名称
MessageBox.Show(name);
var regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(regPath, true);
if (regKey == null) regKey = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(regPath);
regKey.SetValue(name, path);
}
catch
{
}
}
把方法放到对应Main(),方法下,WinForm程序开机自动启动,并自动登录进入主界面_第2张图片

二。。如何实现自动登录进入主窗体

WinForm程序开机自动启动,并自动登录进入主界面_第3张图片
Shown这个方法,是所有控件加载完成后执行,只会触发一次。如果控件设置了背景图片,那么控件的背景颜色是不显示的。
private void FrmLongConfig_Shown(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
this.Close();
}

系统重新生成,然后以系统管理员运行,
以上是程序中直接写入注册表,可以在打开运行,输入:regedit 然后找到

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

下就可以看到已经被写入注册表,这样在开机时就会自动开启程序的。

你可能感兴趣的:(C#,WInform,开机自启动)