| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using Microsoft.Win32;
- using System;
- using System.Windows;
- namespace DeviceCenter
- {
- class AppUtil
- {
- public static bool isAutoStart()
- {
- string strName = AppDomain.CurrentDomain.BaseDirectory + "DeviceCenter.exe";//获取要自动运行的应用程序名
- string strnewName = strName.Substring(strName.LastIndexOf("\\") + 1);//获取应用程序文件名,不包括路径
- RegistryKey registry = Registry.LocalMachine.OpenSubKey($"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);//检索指定的子项
- if (registry != null)
- {
- if (strName.Equals(registry.GetValue(strnewName)))
- {
- return true;
- }
- }
- return false;
- }
- public static void enableAutoStart()
- {
- string strName = AppDomain.CurrentDomain.BaseDirectory + "DeviceCenter.exe";//获取要自动运行的应用程序名
- if (!System.IO.File.Exists(strName))//判断要自动运行的应用程序文件是否存在
- return;
- string strnewName = strName.Substring(strName.LastIndexOf("\\") + 1);//获取应用程序文件名,不包括路径
- RegistryKey registry = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);//检索指定的子项
- if (registry == null)//若指定的子项不存在
- registry = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");//则创建指定的子项
- registry.SetValue(strnewName, strName);//设置该子项的新的“键值对”
- MessageBox.Show("设置完毕");
- }
- public static void disableAutoStart()
- {
- string strName = AppDomain.CurrentDomain.BaseDirectory + "DeviceCenter.exe";//获取要自动运行的应用程序名
- if (!System.IO.File.Exists(strName))//判断要取消的应用程序文件是否存在
- return;
- string strnewName = strName.Substring(strName.LastIndexOf("\\") + 1);///获取应用程序文件名,不包括路径
- RegistryKey registry = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);//读取指定的子项
- if (registry == null)//若指定的子项不存在
- registry = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");//则创建指定的子项
- registry.DeleteValue(strnewName, false);//删除指定“键名称”的键/值对
- MessageBox.Show("设置完毕");
- }
- }
- }
|