.NET实现:将EXE设置开机自动启动
private void btnSetOk_Click(object sender, EventArgs e)
{
RegCompStartRun(true, txtFullPath.Text.Trim());
}
private void btnCancel_Click(object sender, EventArgs e)
{
RegCompStartRun(false, txtFullPath.Text.Trim());
}
private void RegCompStartRun(bool cmd, string argPath)
{
string starupPath = argPath;
if (string.IsNullOrEmpty(argPath))
{
//获取当前可执行程序的全路径
starupPath = Application.ExecutablePath;
}
//表示Window注册表中项级节点,读取 Windows 注册表基项HKEY_LOCAL_MACHINE
Microsoft.Win32.RegistryKey loca = Microsoft.Win32.Registry.LocalMachine;
Microsoft.Win32.RegistryKey run = loca.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
try
{
//SetValue:存储值的名称
if (cmd)
{
run.SetValue("AutoStartupTestWinFormApp", starupPath);//加入注册,参数一为注册节点名称(随意)
lblDisplay.Text = "设置成功!";
}
else
{
run.DeleteValue("AutoStartupTestWinFormApp", false);//删除该注册节点
lblDisplay.Text = "取消设置成功!";
}
loca.Close();
}
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
注意事项:
如果设置后,重命名该exe文件,则注销、重启后重新登录,设置的开机启动项不会启动,
如果改回原来的名字,则再次注销或重启,登录后会自动启动该设置的exe文件
相关文章
C# 计算DataTime的4种时间差的方法(相差天数、相差小时、相差分钟、相差秒)
这篇文章主要介绍了C# 计算DataTime的4种时间差(相差天数、相差小时、相差分钟、相差秒),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-05-05C#连接Oracle数据库使用Oracle.ManagedDataAccess.dll
这篇文章主要介绍了C#使用Oracle.ManagedDataAccess.dll的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-11-11浅析C#中的Main(String[] args)参数输入问题
本篇文章主要是对C#中的Main(String[] args)参数输入问题进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助2014-01-01
最新评论