CONINFO.C
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /******************************************************************************
  2. *       This is a part of the Microsoft Source Code Samples. 
  3. *       Copyright (C) 1993-1997 Microsoft Corporation.
  4. *       All rights reserved. 
  5. *       This source code is only intended as a supplement to 
  6. *       Microsoft Development Tools and/or WinHelp documentation.
  7. *       See these sources for detailed information regarding the 
  8. *       Microsoft samples programs.
  9. ******************************************************************************/
  10. #include <windows.h>
  11. #include <stdio.h>
  12. #include <conio.h>
  13. #include "console.h"
  14. /*******************************************************************
  15. * FUNCTION: demoConInfo(HANDLE hConOut)                            *
  16. *                                                                  *
  17. * PURPOSE: demonstrate GetConsoleScreenBufferInfo. Get the current *
  18. *          console screen buffer information and display it on the *
  19. *          console.                                                *
  20. *                                                                  *
  21. * INPUT: console handle to output to                               *
  22. *******************************************************************/
  23. void demoConInfo(HANDLE hConOut)
  24. {
  25.   BOOL bSuccess;
  26.   CONSOLE_SCREEN_BUFFER_INFO csbi;
  27.   CHAR szTemp[128];
  28.   setConTitle(__FILE__);
  29.   myPuts(hConOut, "For information on the console buffer, we need to calln"
  30.                   "GetConsoleScreenBufferInfo. Make any adjustments to then"
  31.                   "screen buffer/console window now, then hit return...n");
  32.   myGetchar();
  33.   bSuccess = GetConsoleScreenBufferInfo(hConOut, &csbi);
  34.   PERR(bSuccess, "GetConsoleScreenBufferInfo");
  35.   myPuts(hConOut, "nHere is the information on the buffer returned in then"
  36.                   "CONSOLE_SCREEN_BUFFER_INFO structure:");
  37.   sprintf(szTemp, "Size: X = %d, Y = %d", csbi.dwSize.X, csbi.dwSize.Y);
  38.   myPuts(hConOut, szTemp);
  39.   sprintf(szTemp, "Cursor pos: X = %d, Y = %d", csbi.dwCursorPosition.X,
  40.       csbi.dwCursorPosition.Y);
  41.   myPuts(hConOut, szTemp);
  42.   sprintf(szTemp, "Character display attribute: 0x%04x", csbi.wAttributes);
  43.   myPuts(hConOut, szTemp);
  44.   sprintf(szTemp, "Window position: Left = %d, Right = %d, Top = %d, "
  45.       "Bottom = %d", csbi.srWindow.Left, csbi.srWindow.Top,
  46.       csbi.srWindow.Right, csbi.srWindow.Bottom);
  47.   myPuts(hConOut, szTemp);
  48.   sprintf(szTemp, "Maximum window size: X = %d, Y = %d",
  49.       csbi.dwMaximumWindowSize.X, csbi.dwMaximumWindowSize.Y);
  50.   myPuts(hConOut, szTemp);
  51.   myPuts(hConOut, "nHit any key to return...");
  52.   myGetchar();
  53.   return;
  54. }