Mega Code Archive

 
Categories / Delphi / API
 

Getting the handle of a window containing a dos box

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;