|
|
1.1 ! root 1: #include <windows.h> ! 2: #include <stdio.h> ! 3: #include "console.h" ! 4: ! 5: /******************************************************************** ! 6: * FUNCTION: demoGetTitle(HANDLE hConOut) * ! 7: * * ! 8: * PURPOSE: demonstrate GetConsoleTitle and SetConsoleTitle. Read and* ! 9: * display the console title, then set the console title. * ! 10: * * ! 11: * INPUT: handle to write to * ! 12: ********************************************************************/ ! 13: ! 14: void demoGetTitle(HANDLE hConOut) ! 15: { ! 16: BOOL bSuccess; ! 17: CHAR szTitleBuf[256]; /* buffer for the current console title */ ! 18: CHAR szTemp[256]; ! 19: HANDLE hStdIn; /* standard input handle */ ! 20: DWORD dwStdInMode; /* standard input handle mode */ ! 21: DWORD dwBytesRead; ! 22: ! 23: setConTitle(__FILE__); ! 24: hStdIn = GetStdHandle(STD_INPUT_HANDLE); ! 25: PERR((int) hStdIn != -1,"GetStdHandle"); ! 26: /* save the console mode */ ! 27: bSuccess = GetConsoleMode(hStdIn, &dwStdInMode); ! 28: PERR(bSuccess, "GetConsoleMode"); ! 29: /* turn on line input mode so we can enter a string. */ ! 30: /* when turning on ENABLE_LINE_INPUT, you MUST also turn on */ ! 31: /* ENABLE_ECHO_INPUT. */ ! 32: bSuccess = SetConsoleMode(hStdIn, dwStdInMode | ENABLE_LINE_INPUT | ! 33: ENABLE_ECHO_INPUT); ! 34: PERR(bSuccess, "SetConsoleMode"); ! 35: myPuts(hConOut, "Let's get the console title with GetConsoleTitle."); ! 36: /* get the console title */ ! 37: dwBytesRead = GetConsoleTitle(szTitleBuf, sizeof(szTitleBuf)); ! 38: PERR(dwBytesRead, "GetConsoleTitle"); ! 39: sprintf(szTemp, "The console title is: %s", szTitleBuf); ! 40: myPuts(hConOut, szTemp); ! 41: myPuts(hConOut, "\nNow let's set a new console title with SetConsoleTitle."); ! 42: myPuts(hConOut, "\nEnter a new console title:"); ! 43: bSuccess = ReadFile(hStdIn, szTitleBuf, 256, &dwBytesRead, NULL); ! 44: PERR(bSuccess, "ReadFile"); ! 45: /* null terminate the string - less two for cr/lf */ ! 46: szTitleBuf[dwBytesRead - 2] = 0; ! 47: bSuccess = SetConsoleTitle(szTitleBuf); ! 48: PERR(bSuccess, "SetConsoleTitle"); ! 49: /* restore the console title to the original mode */ ! 50: bSuccess = SetConsoleMode(hStdIn, dwStdInMode); ! 51: PERR(bSuccess, "SetConsoleMode"); ! 52: myPuts(hConOut, "\nHit enter to return..."); ! 53: myGetchar(); ! 54: return; ! 55: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.