1

是否可以在 Windows 中获取控制台的名称?就像Unix 系统中的 C 函数ttyname所做的那样

4

1 回答 1

2

您可以使用 WinAPIGetConsoleTitle函数来检索它。

您可能会发现指向所有控制台功能的链接很有用。

您没有指定语言,所以这是MSDN 中的 C++ 语言

#include <windows.h>
#include <tchar.h>
#include <conio.h>
#include <strsafe.h>

int main( void )
{
   TCHAR szOldTitle[MAX_PATH];
   TCHAR szNewTitle[MAX_PATH];

   // Save current console title.

   if( GetConsoleTitle(szOldTitle, MAX_PATH) )
   {
      // Build new console title string.

      StringCchPrintf(szNewTitle, MAX_PATH, TEXT("TEST: %s"), szOldTitle);

      // Set console title to new title
      if( !SetConsoleTitle(szNewTitle) )
      {
         _tprintf(TEXT("SetConsoleTitle failed (%d)\n"), GetLastError());
         return 1;
      }
      else
      {
         _tprintf(TEXT("SetConsoleTitle succeeded.\n"));
      }
   }
   return 0;
}
于 2012-09-07T19:09:12.850 回答