精华内容
下载资源
问答
  • 请问Ubuntu linux 用什么命令退出命令控制台?用什么命令关机?
  • 操作系统有一个重要的应用,就是命令控制台,像Linux系统,命令控制台集合是使用系统的主要工具。本节,我们将为系统开发一个命令控制台,今后我们会为系统开发应用程序,并且不少程序将会通过控制台来运行。

    更详细的讲解和代码调试演示过程,请参看视频
    Linux kernel Hacker, 从零构建自己的内核

    操作系统有一个重要的应用,就是命令控制台,像Linux系统,命令控制台集合是使用系统的主要工具。本节,我们将为系统开发一个命令控制台,今后我们会为系统开发应用程序,并且不少程序将会通过控制台来运行。

    我们的控制台程序将依赖于前面完成的进程机制,主进程绘制出控制台的窗口后,启动一个专有进程,把窗口提交给进程,让新进程来负责更新窗口信息已经响应用户输入,我们看看绘制控制台窗口的代码,在write_vga_desktop.c中:

    void  launch_console() {
        struct SHEET *sht_cons = sheet_alloc(shtctl);
        unsigned char *buf_cons = (unsigned char *)memman_alloc_4k(memman, 256*165);
        sheet_setbuf(sht_cons, buf_cons, 256, 165, COLOR_INVISIBLE);
        make_window8(shtctl, sht_cons, "console");
        make_textbox8(sht_cons, 8, 28, 240, 128, COL8_000000);
    
        struct TASK *task_console = task_alloc();
        int addr_code32 = get_code32_addr();
        task_console->tss.ldtr = 0;
        task_console->tss.iomap = 0x40000000;
        task_console->tss.eip =  (int)(console_task - addr_code32);
    
        task_console->tss.es = 0;
        task_console->tss.cs = 1*8;//6 * 8;
        task_console->tss.ss = 4*8;
        task_console->tss.ds = 3*8;
        task_console->tss.fs = 0;
        task_console->tss.gs = 2*8;
        task_console->tss.esp -= 8;
        *((int*)(task_console->tss.esp + 4)) = (int)sht_cons;
        task_run(task_console, 1, 5);
    
        sheet_slide(shtctl,sht_cons, 32, 4);
        sheet_updown(shtctl, sht_cons, 1);
    }

    launch_console 先是申请了内存以及获得SHEET图层对象,然后通过相关的窗口绘制函数make_window8 和 make_textbox8 将控制台窗口绘制出来。然后获取一股进程对象,也就是TASK 数据结构,设置相关信息,并把控制台的图层对象设置到新进程的堆栈上,以便进程更新控制台窗口。

    调用task_run 运行控制台进程,同时通过sheet_slide 和 sheet_updown将控制台窗口移动到合适位置。

    我们看看进程函数的实现:

    void console_task(struct SHEET *sheet) {
    
        struct FIFO8 fifo;
        struct TIMER *timer;
        struct TASK *task = task_now();
    
        int i, fifobuf[128], cursor_x = 8, cursor_c = COL8_000000;
        fifo8_init(&fifo, 128, fifobuf, task);
        timer = timer_alloc();
        timer_init(timer, &fifo, 1);
        timer_settime(timer, 50);
    
        for(;;) {
    
            io_cli();
            if (fifo8_status(&fifo) == 0) {
       //         task_sleep(task);
                io_sti();
            } else {
                i = fifo8_get(&fifo);
                io_sti();
                if (i <= 1) {
                    if (i != 0) {
                        timer_init(timer, &fifo, 0);
                        cursor_c = COL8_FFFFFF;
                    } else {
                        timer_init(timer, &fifo, 1);
                        cursor_c = COL8_000000;
                    }
    
                    timer_settime(timer, 50);
                    boxfill8(sheet->buf, sheet->bxsize, cursor_c, cursor_x,
                    28, cursor_x + 7, 43);
                    sheet_refresh(shtctl, sheet, cursor_x, 28, cursor_x+8, 44);
                }
            }
    
        }
    }

    console_task 是新进程运行的主函数,它启动了一个定时器,这个定时器的作用是在控制台上绘制光标。在主循环里,每当定时器超时后,else 部分的代码会被执行,代码会根据超时时,队列中数值的不同,选取不同的颜色来绘制光标,每次超时时,代码把光标的颜色转回成白色或黑色,从而造成一种光标闪烁的特效。

    这里写图片描述

    上面的代码编译后,加载到虚拟机中,效果如下,代码的深入讲解和系统运行时的动态效果,请参看视频。

    更多技术信息,包括操作系统,编译器,面试算法,机器学习,人工智能,请关照我的公众号:
    这里写图片描述

    展开全文
  • windows控制台小游戏,控制台输入命令
  • Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用 原文:Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用 系列文章:...
    原文:Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用

     

    系列文章:https://www.cnblogs.com/alunchen/p/10121379.html

    本篇文章操作系统信息

          Windows:Window 10

          Visual Studio:2017 15.8.0

     

    创建项目并添加Dockerfile

          在VS2017及以上版本上创建一个控制台项目,这里的名称叫【ConsoleAppDockerWindows2】。

    创建DockerFile文件

    1)右键项目 --> 选中【添加】 --> 选中【容器业务流程协调程序支持】

    clipboard

    2)选择【Docker Compose】

    clipboard

    3)目标OS:选择【Windows】

    clipboard

     

    创建后的解析

          创建完成后,可以看到项目中多了DockerFile文件,并且也多了docker-compose的项目。我们着重看DockerFile文件,因为此文件是程序运行在Docker中的配置文件。而docker-compose可以删除,其作用是在告诉VS所要运行docker的入口点,并且可以定义多个不同容器中的依赖关系来运行。这里不讲述docker-compose。

          因为我们在VS中运行Docker,建议不要删除。

    clipboard

     

    怎么运行呢?

     

    通过命令运行Dockerfile并生成镜像

          当完成创建Dockerfile文件后,在控制台可以看到此镜像已经安装在docker里面了。

    clipboard

     

          并且通过 【docker ps -a】查看到已经添加到本地docker容器中。

          即当在VS中创建Dockerfile时,会自动地把程序添加到本地镜像与容器中。

          运行程序有很多种方法:

    1)点击VS中运行 Docker 按钮,直接就可以运行

    2)通过命令运行。

          第一种就不介绍了,界面华完成。

          第二种介绍一下。主要为了适应以后Linux的操作。

     

    通过命令运行docker

          步骤是:编译项目->添加到镜像->将镜像添加到容器

     

          1)首先打开项目在本地包含Dockerfile的路径,路径里面必须有Dockerfile的文件。

    clipboard

          并且修改一下Dockerfile文件,主要修改一下路径

    clipboard

     

          2)然后生成镜像,运行命令【docker build -t consoleappdockerwindows2-cmd . 】

          如图:

    clipboard

    clipboard

     

          看到上图运行成功。

          运行生成运行的命令,首先会去找到Dockerfile文件,然后根据此文件配置下载需要的环境。

          输入【docker image】,可以看到运行镜像已经存在了

    clipboard

     

          3)把镜像添加到容器中并运行

          使用docker run 【镜像id】,就能运行镜像了:

    clipboard

     

    下面说明说明一下Dockerfile

    docker命令(FROM,COPY,RUN等)开头,每个命令将按从上到下的顺序执行。

    • FROM:指定要使用的docker镜像,在第1行中我们指定了用于运行应用程序的microsoft/dotnet:2.1-runtime-nanoserver-1803映像。
    • WORKDIR:指定image的工作目录。我们这里使用/ app作为我们的运行程序目录、/src编译目录。
    • COPY:将文件从本地文件系统复制到映像中。第一个COPY是将本地的csproj文件复制到image中,第二个COPY是将当前所有文件复制到image中。 复制我们将最初复制csproj文件并运行restore然后复制所有剩余文件并运行dotnet publish来构建我们的应用程序。

     

    系列文章

    Docker在Linux/Windows上运行NetCore文章系列

     

    可以关注本人的公众号,多年经验的原创文章共享给大家。

    posted on 2019-01-04 00:07 NET未来之路 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/lonelyxmas/p/10217684.html

    展开全文
  • 关于使用winfrom程序调用命令控制台 1.打开winfrom的启动入口 Program.cs文件 2.引用 using System.Runtime.InteropServices; 3.启动控制台的方法 [DllImport(“kernel32.dll”)] public static extern Boolean ...

    关于使用winfrom程序调用命令控制台


    1.打开winfrom的启动入口 Program.cs文件

    2.引用 using System.Runtime.InteropServices;

    3.启动控制台的方法
    [DllImport(“kernel32.dll”)]
    public static extern Boolean AllocConsole();

    4.关闭控制台的方法
    [DllImport(“kernel32.dll”)]
    public static extern Boolean FreeConsole();

    5.在Main()中调用AllocConsole()方法
    输出console.WirteLine(“hello,world!”);

    6.调用FreeConsole()方法关闭控制台

    展开全文
  • 1、打开nuget命令控制台 2、添加Microsoft.Toolkit.Forms.UI.Controls.WebView 控件 1)、参阅资料 https://docs.microsoft.com/en-us/windows/communitytoolkit/controls/wpf-winforms/webview ...

    1、打开nuget命令控制台
    在这里插入图片描述
    2、添加Microsoft.Toolkit.Forms.UI.Controls.WebView 控件
    1)、参阅资料
    https://docs.microsoft.com/en-us/windows/communitytoolkit/controls/wpf-winforms/webview
    https://www.nuget.org/packages/Microsoft.Toolkit.Forms.UI.Controls.WebView
    https://www.nuget.org/packages/Microsoft.Toolkit.Forms.UI.Controls/6.0.0-preview4.1
    在这里插入图片描述
    3、代码中using引入

    using Microsoft.Toolkit.Forms.UI.Controls;
    4、使用webview控件
    WebView wv = new WebView();
    wv.Navigate(“http://khoatoantin.com/cidms”);
    wv.Dock = DockStyle.Fill;
    this.Controls.Add(wv)

    特别说明:webview 使用条件
    官方提出的先决条件如下:
    ✔️Visual Studio 2017。
    ✔️Windows 10内幕预览版Build 17110或更高版本。
    ✔️NET Framework 4.6.2或更高版本。

    5、代码
    参考https://www.w3schools.com/jsref/dom_obj_all.asp
    https://developer.mozilla.org/zh-CN/docs/Web/API/Element/outerHTML

    private void wvNavigate()
    {
    WebView wv = new WebView();
    wv.Navigate(“http://khoatoantin.com/cidms”);
    wv.Dock = DockStyle.Fill;
    this.Controls.Add(wv);
    wv.FrameNavigationCompleted += Wv_FrameNavigationCompleted;
    }
    private void Wv_FrameNavigationCompleted(object sender, Microsoft.Toolkit.Win32.UI.Controls.Interop.WinRT.WebViewControlNavigationCompletedEventArgs e)
    {
    WebView wv = sender as WebView;
    string html = wv.InvokeScript(“eval”,new string[] { “document.documentElement.outerHTML;” });
    // TODO: Do something with the html …
    //System.Diagnostics.Debug.WriteLine(html);
    }

    展开全文
  • 介绍了Java中从命令控制台输入数据的几种常用方法
  • 1.cd(change directory) …/进入上一级目录 2.cd xx进入下级目录 3.d:进入D盘 4.node nod.js 运行js文件 5.上键 使用上一个命令 6.clear 清空命令行
  • 大海捞针找到了个win32命令控制台的串口例程 ,自己改了一下贡献出来。   直接调用API实现串口通信   两个例程 如果编译运行有问题 直接复制源文件到新win32命令工程中运行 平台-VS2013-win32 例程1:摄像头...
  • 如何打开dos命令控制台

    千次阅读 2018-12-18 10:28:54
    在系统搜索栏里输入cmd,进入命令控制台; 快捷键wins+r打开搜索框,输入cmd,进入命令控制台。 打开相应的文件夹,在 路径 前输入cmd+空格,点击回车进入命令控制台。 温馨提示: 路径指你当前打开的文件或...
  • 在eclipse中执行install命令控制台输出(如下)是什么情况: [INFO] Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.4/maven-install-plugin-2.4.pom [INFO] ...
  • 华为设备命令控制台的快捷键

    千次阅读 2017-07-16 03:43:35
    CTRL+B 将光标向左移动一个字符。 CTRL+D 删除当前光标所在位置的字符。 CTRL+A 将光标移动到...CTRL+N 显示历史命令缓冲区中的后一条命令。 CTRL+P 显示历史命令缓冲区中的前一条命令。 CTRL+W 删除光标左侧的一
  • 最近项目要使用openfire来进行插件开发,下载openfire源码导入工程后,运行源码的build目录下的build.xml中的ant命令,其中run命令是启动openfire服务器,结果控制台输出乱码,如图所示:  run命令的原始ant脚本是...
  • windows下界面强大,工具也多,不过还是对linux下的一些命令... 比如,跟踪日志的tail命令,强大的find命令,神奇的管道,方便的sed、grep等,这些文件命令小巧使用,可惜windows命令行不提供,实 在失败。 今天,需要
  • 本文阐述了如何在.net中悄悄的...1.需要执行带“/C”参数的“cmd.exe”命令,它表示执行完命令后立即退出控制台。 2.设置startInfo.UseShellExecute = false; //不使用系统外壳程序启动进程 3.设置startInfo.CreateN
  • File==&gt;Settings:VM Options设置为:-Dfile.encoding=GB2312 即可
  • 在命令行窗口中输入F:后回车就可以切换到F盘,如果想查看F盘的内容,可以再输入dir后回车 (输入“F”后要再输入一个“:”再回车才行哦) 转载于:...
  • CMD命令窗口在一些特殊情况时我们会用到,如PING下看网络通不通。在CMD窗口里运行命令如磁盘格式转换,在开始运行输入CMD回车后,CMD命令黑框框出来闪一下就消失不见了的问题可以参考下下面的解决方法。  一、首先...
  • 检查注册表:HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun里的值清空(如果值为EXIST,运行表现就是一闪就消失。) 转载于:...
  • ctrl+alt+f1与ctrl+alt+f6切换到命令提示符状态ctrl+alt+f7切换到图形界面状态
  • 1.问题 近日和即将离职的同事做项目交接,从git上检出Springboot项目后,导入IDEA却无法启动。...抓心捞肝的一天开始了。。。。。 ...①首先考虑到的,会不会因为是新导入的项目,Maven依赖或是仓库依赖的问题,重新捣鼓...
  • 未中毒。。。一、首先查看C:\WINDOWS\SYSTEM32下的CMD.EXE是否存在,文件日期是否正常;检测结果为正常,与其他系统文件日期相同,应该不是这个问题。二、再查看系统的环境变量,path是否包含如下路径:%SystemRoot%...
  • 解决办法:在cmd命令窗口输入:pip install pypiwin32
  • 打印出“helloUAB”但我们不输入任何值只按一个回车时,在cmd命令窗口与IDE工具(eclipse)输出就不一样了,如下图: cmd命令行,编译运行结果 eclipse运行结果输入“UFO” 和只按回车两种情况    我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,241
精华内容 16,896
关键字:

命令控制台