Главная страница | назад





Article #16981: Getting the handle of a Window containing a DOS box

 Question and Answer Database

FAQ1981D.txt   Getting the handle of a Window containing a DOS box
Category   :Windows API
Platform    :All
Product    :All 32 bit  

Question:
How can I get the handle of the Window containing a DOS box or
other console mode application?


Answer:
The following example demonstrates using the Windows API function
FindWindow() to retrieve the handle of a console mode application.
Note that the WndClass of a console window is different under
Windows 95 and Window NT, and the title of the Window may contain a
full path name under Windows NT.

Example:

procedure TForm1.Button1Click(Sender: TObject);
var
  info : TOSVersionInfo;
  ClassName : string;
  Title : string;
begin
 {See if we're running on Win95 or 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;

7/16/98 4:31:28 PM
 

Last Modified: 01-SEP-99