GetStdHandle函数

简述

  GetStdHandle是一个Windows API函数。它用于从一个特定的标准设备(标准输入、标准输出或标准错误)中取得一个句柄(用来标识不同设备的数值)。因为很多API函数都需要用到句柄,所以GetStdHandle是一个很重要的函数。

函数原型

包含在头文件windows.h中

HANDLE WINAPI GetStdHandle( _In_ DWORD nStdHandle);

参数

GetStdHandle函数的参数可以是下列之一

参数 含义
STD_INPUT_HANDLE 标准输入句柄
STD_OUTPUT_HANDLE 标准输出句柄
STD_ERROR_HANDLE 标准错误句柄

注:只有这三种参数哦。不同的参数用于获取不同标准设备的句柄。

返回值

  都知道GetStdHandle函数是用来获取句柄的啦,那它的返回值当然是个句柄喽。这一点从函数原型也能看出来。

举个栗子

#include <windows.h>
#include <stdio.h>
#include <string.h>
int main(int argc,char * argv[])
{ 
    HANDLE fd = GetStdHandle(STD_OUTPUT_HANDLE);//这里,获取标准输出设备的句柄,并将其赋给句柄变量fd
    CONSOLE_CURSOR_INFO cinfo;
    char str[4];
    while(1)
    {
        cinfo.dwSize = 1;
        printf("请输入on/off开启/关闭光标显示:\n");
        scanf("%s",str);
        if(!strcmp(str,"off"))
        {
            cinfo.bVisible = 0;
            SetConsoleCursorInfo(fd,&cinfo);
        }
        else if(!strcmp(str,"on"))
        {
            cinfo.bVisible = 1;
            SetConsoleCursorInfo(fd,&cinfo);
        }
        else
            printf("指令错误,请重新输入,输入on或者off打开或者关闭光标显示\n");
     }
     return 0;
}

你可能感兴趣的:(不务正业)