【c#】开机自启动
来源:互联网 发布:姚明和奥尼尔对决数据 编辑:程序博客网 时间:2024/06/05 15:00
做的项目上线了,又激动又紧张,但是之前都是在理想情况下开发的,没想到还有开机自启这个小功能,所以有完善了一下。
#region 将程序添加到启动项 private static RegistryKey HKCU = Registry.CurrentUser; private static string name = "DBAnalyzer"; private static string path = Application.ExecutablePath; /// <summary> /// 注册表括操作将程序添加到启动项 /// </summary> public static void SetRegistryKey(bool Started) { try { RegistryKey Run = HKCU.CreateSubKey(@"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\"); if (Started == true) { try { Run.SetValue(name, path); Run.Close(); HKCU.Close(); //this.SaveLog("注册表修改成功"); LogHelper.Info("注册表修改成功"); } catch (Exception ex) { //this.SaveLog("注册表修改错误(开机自启未实现)!错误描述为:" + ex.Message.ToString()); LogHelper.Info("注册表修改错误(开机自启未实现)!错误描述为:" + ex.Message.ToString()); } } else { if (Run.GetValue(name) != null) { Run.DeleteValue(name); Run.Close(); HKCU.Close(); } else return; } } catch (Exception ex) { //this.SaveLog("将程序添加到启动项错误!错误描述为:" + ex.Message.ToString()); LogHelper.Info("将程序添加到启动项错误!错误描述为:" + ex.Message.ToString()); } } /// <summary> /// 获取是否开机启动 /// </summary> /// <returns></returns> public static bool IsRegeditExit() { try { RegistryKey software = HKCU.OpenSubKey("SOFTWARE", true); RegistryKey aimdir = software.OpenSubKey(@"Microsoft\Windows\CurrentVersion\Run\", true); object runObj = aimdir.GetValue(name); if (runObj == null || !path.Equals(runObj.ToString())) return false; else return true; } catch (Exception ex) { //this.SaveLog("获取是否开机启动错误!错误描述为:" + ex.Message.ToString()); LogHelper.Info("获取是否开机启动错误!错误描述为:" + ex.Message.ToString()); } return false; } #endregion
客户端调用:
if (!IsRegeditExit()){ //添加开机启动 SetRegistryKey(true);}
阅读全文
0 0
- 【c#】开机自启动
- Android::开机自启动C程序
- 应用程序开机自启动的C代码
- Android下开机自启动C程序
- 【开机自启动】开机自启动应用程序
- 程序开机自启动
- symbian开机自启动
- 开机自启动
- 程序开机自启动
- 程序开机自启动
- oracle10g 开机自启动
- Symbian开机自启动
- Android开机自启动
- Android开机自启动。
- samba 开机自启动
- 开机自启动程序
- 开机自启动
- 开机自启动
- 循环神经网络
- hdu 多校联赛 Add More Zero
- Java定时器
- 解决多张图片排在一起时产生的空隙
- [vijos NOIP模拟题]天神下凡 贪心+搜索
- 【c#】开机自启动
- Template模式
- 【普通算法】字符串字符及个数一致比较
- 共享内存
- Ubuntu MySQL安装
- 【JavaSE学习笔记】常用类介绍04_System,Date,Math,Random,Pattern
- 硬盘分区表知识——详解硬盘MBR
- String 常用方法
- 调用百度地图的javascript接口来查找地名并标注