参考博客: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. 【leetcode】Perfect Squares (#279)

    Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 1 ...

  2. Power BI for Office 365(二)Power Query

    在上一篇中我们看到了Power BI在移动端的支持,从这一篇起降依次介绍Power BI中的各个功能组件,此篇讲通过一个故事来介绍如何在Power Query中获取并且组织数据. 在这个系列中,我们将 ...

  3. json-lib——JsonConfig详细使用说明

    在使用json-lib包中JSONObject.fromObject(bean,cfg)时,可能出现以下几种情况: 1.(防止自包含)转换的对象包含自身对象,或者对象A下面挂了对象B,对象B下面又挂了 ...

  4. ViewPager图片切换的简单案例

    1)ViewPager类直接继承了ViewGroup类,所有它是一个容器类,可以在其中添加其他的view类. 2)ViewPager类需要一个PagerAdapter适配器类给它提供数据. 向右滑动切 ...

  5. appium依赖pom文件注解

    <!-- appium部分 依赖--> <dependency> <groupId>io.appium</groupId> <artifactId ...

  6. Ado.Net事物处理

    protected void Button2_Click(object sender, EventArgs e)     {         SqlConnection con = new SqlCo ...

  7. Mac iTerm 很好用的终端

    配合Go2Shell使用,效果更佳!我建议你去商店下载它! 先去官网下载软件, 然后可以看看这一篇简明教程. 这里,还有一点点干货也一起带走吧! open -a Go2Shell --args con ...

  8. JavaScript使用接口

    在经典的Java面向对象语言中,可以用关键字interface来定义接口,用implement来实现接口,而JavaScript虽然也是面向对象语言,但是它并没有内置这些,不过由于JavaScript ...

  9. ZeroMQ接口函数之 :zmq_msg_close – 释放一个ZMQ消息

    ZeroMQ 官方地址 :http://api.zeromq.org/4-2:zmq_msg_close zmq_msg_close(3)            ØMQ Manual - ØMQ/3. ...

  10. log4j.properties 使用

    一.参数意义说明 输出级别的种类 ERROR.WARN.INFO.DEBUG ERROR 为严重错误 主要是程序的错误 WARN 为一般警告,比如session丢失 INFO 为一般要显示的信息,比如 ...