Zingu
 public  class ControlComputer
    {
        /// <summary>
        /// 重启当前程序
        /// </summary>
        public static void ReStartApplicationSelf()
        {
            System.Diagnostics.Process.Start(Assembly.GetExecutingAssembly().Location);   
        }
        /// <summary>
        /// 重启电脑
        /// </summary>
        public static void ReStartComputer()
        {
            // 参数 /r 的意思是要重启计算机   
            Process.Start("shutdown", "/r /t 0");
        }
        /// <summary>
        /// 关机
        /// </summary>
        public static void ColseDownComputer()
        {
            // 参数 /s 的意思是要关闭计算机
            // 参数 /t 0 的意思是告诉计算机 0 秒之后执行命令
            Process.Start("shutdown", "/s /t 0");
        }

        [DllImport("user32")]
        public static extern bool ExitWindowsEx(uint uFlags, uint dwReason);
        /// <summary>
        /// 注销
        /// </summary>
        public static void ExitWindows()
        {
            ExitWindowsEx(0, 0);
        }
        [DllImport("user32")]
        public static extern void LockWorkStation();
        /// <summary>
        /// 锁定
        /// </summary>
        public static void LockWindows()
        {
            LockWorkStation();
        }
        [DllImport("PowrProf.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
        public static extern bool SetSuspendState(bool hiberate, bool forceCritical, bool disableWakeEvent);
        /// <summary>
        /// 睡眠
        /// </summary>
        public static void SleepWindows()
        {
            SetSuspendState(false, true, true);
        }
        /// <summary>
        /// 休眠
        /// </summary>
        public static void dormancyWindows()
        {
            SetSuspendState(true, true, true);
        }

    }

 

/// <summary>
        /// 程序自启动
        /// </summary>
        /// <param name="exeName">应用程序名称</param>
        /// <param name="exePath">文件路径</param>
        public static void autoRun(string exeName, string exePath)
        {
            RegistryKey runItem = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
            try
            {
                if (runItem != null)
                {
                    runItem.SetValue(exeName, exePath);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        /// <summary>
        /// 删除自启动
        /// </summary>
        /// <param name="exeName">文件名称</param>
        public static void deleteAutoRun(string exeName)
        {
            RegistryKey runItem = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
            try
            {
                if (runItem != null)
                {
                    runItem.DeleteSubKey(exeName);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }

 

分类:

技术点:

相关文章:

  • 2021-11-25
  • 2022-01-20
  • 2022-01-05
  • 2021-08-12
  • 2022-01-22
  • 2021-08-30
  • 2021-08-01
猜你喜欢
  • 2022-02-10
  • 2021-06-29
  • 2022-02-27
  • 2022-12-23
  • 2021-06-05
相关资源
相似解决方案