参考博客:C# 控制台程序(命令行程序)设置字体颜色,窗口宽高,光标行数

禁用控制台关闭按钮,参考博客:禁用C#控制台应用程序的关闭按钮

参考博客:c# 控制台程序禁用关闭按钮完美解决

        #region 禁用关闭按钮
        /// <summary>
        /// 禁用关闭按钮
        /// </summary>
        private static void InitDisableClose()
        {
            //与控制台标题名一样的路径
            //string fullPath = System.Environment.CurrentDirectory + "\\" + Process.GetCurrentProcess().ProcessName;
            //根据控制台标题找控制台
            int WINDOW_HANDLER = FindWindow(null, title);
            //找关闭按钮
            IntPtr CLOSE_MENU = GetSystemMenu((IntPtr)WINDOW_HANDLER, IntPtr.Zero);
            int SC_CLOSE = 0xF060;
            //关闭按钮禁用
            RemoveMenu(CLOSE_MENU, SC_CLOSE, 0x0);
        }
        #endregion

控制台输入命令,参考博客:C#入门之控制台输入和输出

        #region 读取控制台命令
        /// <summary>
        /// 读取控制台命令
        /// </summary>
        private static void consoleRead()
        {
            while (true)
            {
                string cmd = Console.ReadLine();
                if (cmd.ToLower() == "exit")
                {
                    System.Environment.Exit();
                    break;
                }
                else if (cmd.ToLower() == "restart")
                {
                    Console.WriteLine("restart");
                }
                Thread.Sleep();
            }
        }
        #endregion

控制台重启

        #region 程序重启
        /// <summary>
        /// 程序重启
        /// </summary>
        public static void Restart()
        {
            Thread reThread = new Thread(new ParameterizedThreadStart(Run));
            object app = System.Environment.CurrentDirectory + "\\" + Process.GetCurrentProcess().ProcessName+".exe";
            reThread.Start(app);
            Thread.CurrentThread.Abort();
        }
        /// <summary>
        /// 运行启动程序
        /// </summary>
        /// <param name="app"></param>
        private static void Run(object app)
        {
            Console.WriteLine("The system will restart!");
            Console.WriteLine("Countdown start...");
            ; i < ; i++)
            {
                Thread.Sleep();//暂停1秒钟
                Console.WriteLine( - i);
            }
            Process ps = new Process();
            ps.StartInfo.FileName = app.ToString();
            ps.Start();
            System.Environment.Exit();
        }
        #endregion

C# Console控制命令的更多相关文章

  1. Linux 视频设备驱动V4L2最常用的控制命令

    http://blog.csdn.net/shaolyh/article/details/6583226 Linux 视频设备驱动V4L2最常用的控制命令使用说明(1.02) 命令 功能 VIDIOC ...

  2. oracle-SQL语言基础-事务控制命令命令

    事务控制命令命令 COMMITROLLBACKSAVEPOINTSET TRANSACTION 当第一条可执行的SQL语句开始执行,数据库事务就开始.随着下面任一事件发生,数据库事务结束:执行COMM ...

  3. Sass控制命令及函数知识整理

    2017-07-07  20:17:17 最底部附结构图(实在是结构图太长了没办法) 2017-06-22  09:11:43 一.Sass的控制命令 1.@if语句 @if 指令是一个 SassSc ...

  4. 在visual studio的工程项目应用中打开console控制窗口

    在visual studio的工程项目应用中打开console控制窗口,这个可以方便我们在console中输出参数的值检查错误. 只需要在需要打开console的地方加入下面的代码即可. AllocC ...

  5. 使用python+Selenium对空调控制器进行循环发送控制命令

    今天一同事说想对空调控制器进行循环发送命令操作.经过了对控制流程的梳理,发现每次选择内机后进入控制页面设定温度都是在26度,想了想,如果要进行循环就得将设定温度重置为17度,然后每循环一次温度增加1度 ...

  6. webRTC中音频相关的netEQ(四):控制命令决策

    上篇(webRTC中音频相关的netEQ(三):存取包和延时计算)讲了语音包的存取以及网络延时和抖动缓冲延时的计算,MCU也收到了DSP模块发来的反馈报告.本文讲MCU模块如何根据网络延时.抖动缓冲延 ...

  7. 自学Linux Shell15.2-作业控制命令(jobs/bg/nice/renice/at/atp/atrm/crontab)

    点击返回 自学Linux命令行与Shell脚本之路 15.1-作业控制命令(jobs/bg/nice/renice/at/atp/atrm/crontab) 1  控制作业 1.1查看作业 (jobs ...

  8. Matlab绘图控制命令

    [转载] 图形的控制与表现 (Figure control and representation) MATLAB提供的用于图形控制的函数和命令: axis:  人工选择坐标轴尺寸.     clf: ...

  9. Oracle数据库存量数据抽取使用spool控制命令

    spool是oracle  sqlplus提供的一个控制命令.可以利用spool和select语句的组合动态生成一些失去了脚本或者一些数据. 1.spool作用: 在sqlplus中用来保存或打印查询 ...

随机推荐

  1. vi使用

    vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi + ...

  2. 在.NET Core中使用MEF

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:微软的可托管扩展框架也移植到.NET Core上了. 可托管扩展框架(Managed ...

  3. Oracle在存储过程中如何返回结果集

    Oracle和Sqlserver不一样的地方有很多. 个人最深的体会是存储过程返回结果集,在Sqlserver中直接select查询就行,Oracle就不行了. 这里,就用最简单的例子说明存储过程返回 ...

  4. 验证启用了不安全的HTTP方法

    安全风险:       可能会在Web 服务器上上载.修改或删除Web 页面.脚本和文件. 可能原因:       Web 服务器或应用程序服务器是以不安全的方式配置的. 修订建议:       如果 ...

  5. ASP.NET使用Memcached

    一.安装Memcached及Memcached配置和状态查询 要想使用Memcached做缓存首先需要安装Memcached服务,安装方法如下: memcached.exe下载 保存至相应路径 打开c ...

  6. jq switch case

    switch (cnt) {                    case ("string1"):                        ...             ...

  7. 如何在UMG蓝图中动态创建控件

    把控件作为UObject即可,在c++中则使用NewObject函数

  8. CSS居中布局总结【转】

    居中布局 <div class="parent"> <div class="child">demo</div> </d ...

  9. 两个多项式相加 ( C++ )

    实现两个多项式进行相加 不开辟空间 ( 这要求实现进行相加,代价为两个原链表将被修改) 分析: this>other 就把other当前结点放置在this之前 this<other 就th ...

  10. Python之路第一课Day3--随堂笔记(文件操作)

    一.集合的介绍 1.集合操作 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作 s = se ...