zoukankan      html  css  js  c++  java
  • API 在屏幕上简单显示字符串

    原文链接:https://www.cnblogs.com/jqdy/p/15078827.html

      编写服务程序时,仅仅在安装服务过程中需要在显示器上输出简单的提示信息,其他部分并不需要显示器的输出操作。如果使用printf系列函数会占用一定的空间。

      使用 API 函数做了一个简单的输出函数:

     1 // ANSI 编码
     2 VOID ApiPrintfA(INT count, ...)
     3 {
     4     static HANDLE hConsoleOutput = NULL;
     5     va_list args;
     6     PSTR arg = NULL;
     7     SIZE_T cchStr;
     8 
     9     // 获取标准输出句柄
    10 
    11     if (NULL == hConsoleOutput)
    12     {
    13         hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    14     }
    15 
    16     va_start(args, count);
    17 
    18     do{
    19         arg = va_arg(args, PSTR);
    20         StringCchLengthA(arg, 1024, &cchStr);
    21         WriteConsoleA(
    22             hConsoleOutput,
    23             arg,
    24             (DWORD)cchStr,
    25             NULL,
    26             NULL);
    27     } while (--count); // count = 0 时为假,跳出循环
    28 
    29     va_end(args);
    30 }
    31 
    32 // UNICODE 编码
    33 VOID ApiPrintfW(INT count, ...)
    34 {
    35     static HANDLE hConsoleOutput = NULL;
    36     va_list args;
    37     PWSTR arg = NULL;
    38     SIZE_T cchStr;
    39 
    40     // 获取标准输出句柄
    41 
    42     if (NULL == hConsoleOutput)
    43     {
    44         hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    45     }
    46 
    47     va_start(args, count);
    48 
    49     do {
    50         arg = va_arg(args, PWSTR);
    51         StringCchLengthW(arg, 1024, &cchStr);
    52         WriteConsoleW(
    53             hConsoleOutput,
    54             arg,
    55             (DWORD)cchStr,
    56             NULL,
    57             NULL);
    58     } while (--count); // count = 0 时为假,跳出循环
    59 
    60     va_end(args);
    61 }
  • 相关阅读:
    linux-nohup后台运行
    linux-友好显示文件大小
    System.exit(0)会跳过finally块的执行
    Spark-scala-API
    Lua协程-测试3
    Lua协程-测试2
    Lua协程
    费马大定理
    Spring事务超时、回滚的相关说明
    springboot测试service层的单元测试
  • 原文地址:https://www.cnblogs.com/jqdy/p/15078827.html
Copyright © 2011-2022 走看看