|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- using System;
- using System.Windows.Forms;
- using Microsoft.Win32;
-
- namespace Shadowsocks.Controller
- {
- class AutoStartup
- {
- public static bool Set(bool enabled)
- {
- try
- {
- string path = Application.ExecutablePath;
- RegistryKey runKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
- if (enabled)
- {
- runKey.SetValue("Shadowsocks", path);
- }
- else
- {
- runKey.DeleteValue("Shadowsocks");
- }
- runKey.Close();
- return true;
- }
- catch (Exception e)
- {
- Logging.LogUsefulException(e);
- return false;
- }
- }
-
- public static bool Check()
- {
- try
- {
- string path = Application.ExecutablePath;
- RegistryKey runKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run");
- string[] runList = runKey.GetValueNames();
- runKey.Close();
- foreach (string item in runList)
- {
- if (item.Equals("Shadowsocks"))
- return true;
- }
- return false;
- }
- catch (Exception e)
- {
- Logging.LogUsefulException(e);
- return false;
- }
- }
- }
- }
|