分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

.NET以管理员身份运行程序

发布时间:2023-09-06 01:34责任编辑:彭小芳关键词:.NET
using System;using System.ComponentModel;using System.Diagnostics;using System.Windows.Forms;namespace RunAsAdministratorDemo{ ???/// <summary> ???/// ????.NET以管理员身份运行程序 ???/// ????LDH @ 2018-1-5 ???/// </summary> ???internal class Program ???{ ???????/// <summary> ???????/// ????数据库服务操作 ???????/// </summary> ???????public enum DatabaseServiceOperation ???????{ ???????????/// <summary> ???????????/// ????启动 Ms Sql Server 服务 ???????????/// </summary> ???????????[Description("启动 Ms Sql Server 服务")] StartMsSqlServer = 1, ???????????/// <summary> ???????????/// ????终止 Ms Sql Server 服务 ???????????/// </summary> ???????????[Description("终止 Ms Sql Server 服务")] StopMsSqlServer = 2, ???????????/// <summary> ???????????/// ????启动 My Sql ?服务 ???????????/// </summary> ???????????[Description("启动 My MySQL ?服务")] StartMySql = 3, ???????????/// <summary> ???????????/// ????终止 MySQL 服务 ???????????/// </summary> ???????????[Description("终止 MySQL 服务")] StopMySql = 4, ???????????/// <summary> ???????????/// ????启动 Redis ?服务 ???????????/// </summary> ???????????[Description("启动 Redis ?服务")] StartRedis = 5, ???????????/// <summary> ???????????/// ????终止 Redis 服务 ???????????/// </summary> ???????????[Description("终止 Redis 服务")] StopRedis = 6, ???????????/// <summary> ???????????/// ????启动 MongoDB ?服务 ???????????/// </summary> ???????????[Description("启动 MongoDB ?服务")] StartMongoDb = 7, ???????????/// <summary> ???????????/// ????终止 MongoDB 服务 ???????????/// </summary> ???????????[Description("终止 MongoDB 服务")] StopMongoDb = 8 ???????} ???????private static void Main() ???????{ ???????????Console.Title = ".NET以管理员身份运行相应的程序 By LDH @ " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); ???????????HowToRunAsAdministrator(); ???????????Console.ReadKey(); ???????} ???????/// <summary> ???????/// ????如何以管理员身份运行 ???????/// </summary> ???????private static void HowToRunAsAdministrator() ???????{ ???????????while (true) ???????????{ ???????????????Console.BackgroundColor = ConsoleColor.Blue; ???????????????Console.ForegroundColor = ConsoleColor.White; ???????????????Console.Clear(); ???????????????Console.WriteLine("\t 输入指定的数字,执行相应操作!"); ???????????????PrintLine(); ???????????????Console.WriteLine("【0】退出程序"); ???????????????PrintLine(); ???????????????Console.WriteLine("【1】启动 Ms Sql Sever"); ???????????????Console.WriteLine("【2】终止 Ms Sql Server"); ???????????????PrintLine(); ???????????????Console.WriteLine("【3】启动 MySQL 服务"); ???????????????Console.WriteLine("【4】终止 MySQL ?服务"); ???????????????PrintLine(); ???????????????Console.WriteLine("【5】启动 Redis ?服务"); ???????????????Console.WriteLine("【6】终止 Redis ?服务"); ???????????????PrintLine(); ???????????????Console.WriteLine("【7】启动 MongoDB ?服务"); ???????????????Console.WriteLine("【8】终止 MongoDB ?服务"); ???????????????PrintLine(); ???????????????var input = Console.ReadLine(); ???????????????var operateNum = Convert.ToInt32(input); ???????????????if (operateNum != 0) ???????????????{ ???????????????????var process = new Process ???????????????????{ ???????????????????????StartInfo = ???????????????????????{ ???????????????????????????Verb = "runas", ???????????????????????????UseShellExecute = true, ???????????????????????????FileName = "cmd.exe", ???????????????????????????Arguments = GetArgumentString((DatabaseServiceOperation) operateNum) ???????????????????????} ???????????????????}; ??????????????????process.Start(); ??????????????????process.WaitForExit(); ??????????????????????????MessageBox.Show("执行成功!", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Information); ???????????????} ???????????????else ???????????????{ ???????????????????Environment.Exit(0); ???????????????} ???????????} ???????} ???????/// <summary> ???????/// ????根据数据库服务的类型获取对应的执行命令字符串 ???????/// </summary> ???????/// <param name="operation">数据库服务的类型</param> ???????/// <returns>对应的服务执行命令字符串</returns> ???????private static string GetArgumentString(DatabaseServiceOperation operation) ???????{ ???????????var argumentsStr = string.Empty; ???????????switch (operation) ???????????{ ???????????????case DatabaseServiceOperation.StartMsSqlServer: ???????????????????argumentsStr = "/C net start mssqlserver"; ???????????????????break; ???????????????case DatabaseServiceOperation.StopMsSqlServer: ???????????????????argumentsStr = "/C net stop mssqlserver"; ???????????????????break; ???????????????case DatabaseServiceOperation.StartMySql: ???????????????????argumentsStr = "/C net start mysql"; ???????????????????break; ???????????????case DatabaseServiceOperation.StopMySql: ???????????????????argumentsStr = "/C net stop mysql"; ???????????????????break; ???????????????case DatabaseServiceOperation.StartRedis: ???????????????????argumentsStr = "/C net start redis"; ???????????????????break; ???????????????case DatabaseServiceOperation.StopRedis: ???????????????????argumentsStr = "/C net stop redis"; ???????????????????break; ???????????????case DatabaseServiceOperation.StartMongoDb: ???????????????????argumentsStr = "/C net start mongodb"; ???????????????????break; ???????????????case DatabaseServiceOperation.StopMongoDb: ???????????????????argumentsStr = "/C net stop mongodb"; ???????????????????break; ???????????} ???????????return argumentsStr; ???????} ???????/// <summary> ???????/// ????分割线 ???????/// </summary> ???????private static void PrintLine() ???????{
??????????Console.WriteLine("-----------------------------------------------------"); ???????} ???}}

运行效果:

.NET以管理员身份运行程序

原文地址:https://www.cnblogs.com/LifeDecidesHappiness/p/8203592.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved