Как получить дескриптор окна консоли

Материал из DRKB

Как получить дескриптор окна консоли[править | править код]

В следующем примере используется функция Windows API FindWindow(). Обратите внимание, что WndClass консольного окна отличаются для Windows 95 и Window NT и заголовок окна может содержать полный путь под Windows NT.


procedure TForm1.Button1Click(Sender: TObject);
var
  info: TOSVersionInfo;
  ClassName: string;
  Title: string;
begin
  { Проверяем -  Win95 или NT. }
  info.dwOSVersionInfoSize := SizeOf(info);
  GetVersionEx(info);
  if (info.dwPlatformId = VER_PLATFORM_WIN32_NT) then
  begin
    ClassName := 'ConsoleWindowClass';
    Title := 'Command Prompt';
  end
  else
  begin
    ClassName := 'tty';
    Title := 'MS-DOS Prompt';
  end;
  ShowMessage(IntToStr(FindWindow(PChar(ClassName), PChar(Title))));
end;


Source: http://delphiworld.narod.ru/
ID: 02196



При поиске окон, как отмечалось, нужен класс и имя, так вот - если Вы ищите DOS-окно, то его класс всегда = 'tty'.


Source: http://delphiworld.narod.ru/
ID: 02197