Widow – Rev 1

Subversion Repositories:
Rev:
using System.Reflection;
using Microsoft.Win32;

namespace Widow
{
    public static class LaunchOnBoot
    {
        #region Public Methods

        public static bool Set(bool enable)
        {
            using (var key = Registry.CurrentUser.OpenSubKey
                ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
            {
                if (key == null)
                {
                    return false;
                }

                switch (enable)
                {
                    case true:
                        key.SetValue(Constants.AssemblyName, Assembly.GetEntryAssembly().Location);
                        break;
                    default:
                        key.DeleteValue(Constants.AssemblyName, false);
                        break;
                }
            }

            return true;
        }

        public static bool Get()
        {
            using (var key = Registry.CurrentUser.OpenSubKey
                ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
            {
                return key?.GetValue(Constants.AssemblyName) != null;
            }
        }

        #endregion
    }
}

Generated by GNU Enscript 1.6.5.90.