• Windows控制台光标控制


    控制台的光标具有两个属性:dwSize 高度,bVisible 是否显示。

    具体步骤:

    1.得标准输出设备句柄GetStdHandle(),因为光标是在标准输出设备上显示

    2.获取控制台光标信息GetConsoleCursorInfo(),可以跳过

    3.设置控制台光标信息SetConsoleCursorInfo()

    4.设置光标位置

    更多信息大家可以去MSDN上查!

    获取设备句柄的函数:

    HANDLE WINAPI GetStdHandle(
      __in  DWORD nStdHandle
    );nStdHandle :

    1.     STD_INPUT_HANDLE      标准输入设备,起初,它是控制台输入缓存区,CONIN$

    2.     STD_OUTPUT_HANDLE   标准输出设备,起初,它是活动的控制台屏幕缓存区,CONOUT$

    3.     STD_ERROR_HANDLE    标准报错设备,起初,它是活动的控制台屏幕缓存区,CONOUT$

    控制台光标信息结构体:

    typedef struct _CONSOLE_CURSOR_INFO {
        DWORD  dwSize;    //光标的高度,控制台一行字符的高度为100,光标的高度为1到100
        BOOL   bVisible;     //是否显示光标,TRUE为显示,FALSE为不显示
    } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO

     获取控制台光标信息:

    BOOL WINAPI GetConsoleCursorInfo(
      __in   HANDLE hConsoleOutput,
      __out  PCONSOLE_CURSOR_INFO lpConsoleCursorInfo
    );

    hConsoleOutput:控制台屏幕缓存区句柄,必须具有GENERIC_READ权限

    lpConsoleCursorInfo:一个指向CONSOLE_CURSOR_INFO的指针,用来接收控制台光标信息

    设置控制台光标信息:

    BOOL WINAPI SetConsoleCursorInfo(
      __in  HANDLE hConsoleOutput,
      __in  const CONSOLE_CURSOR_INFO* lpConsoleCursorInfo
    );

    hConsoleOutput:控制台屏幕缓存区句柄,必须具有GENERIC_READ权限

    lpConsoleCursorInfo:一个指向CONSOLE_CURSOR_INFO的指针,用来设置控制台光标信息


    设置控制台光标位置:

    void gotoxy(int Wide,int High)   //Wide表示列,0为第一列,High表示行,0为第一行
    {
     COORD loc;
     loc.X=Wide;
     loc.Y=High;
     SetConsoleCursorPosition(hStdout, loc);
    }

  • 相关阅读:
    【InfoPath2007】The form has been closed
    深入浅出Nintex——调用子流程
    深入浅出Nintex——使用查询XML动作
    深入浅出Nintex——使用Call WebService来查询Item ID
    深入浅出Nintex——获得某群组的用户集合
    深入浅出SharePoint2007——Webpart开发
    深入浅出Nintex——获得指定用户的角色
    深入浅出Nintex——使用构建动态字符串动作
    Lucene.net 实现全文搜索
    DotLucene源码浅读笔记(1)补遗:编写简单中文分词器ChineseAnalyzer
  • 原文地址:https://www.cnblogs.com/gaoyaguo/p/1912728.html
Copyright © 2020-2023  润新知