QuickWin is a very useful program to spawn script programs or console applications in a Windows environment without opening a DOS box. In this article, you will see how QuickWin works.

Introduction
QuickWin
is a Windows application that spawns a Win32 console application that redirected its stdin
, stdout
and stderr
handles to a window. The console application is hidden and all I/O operations are made through QuickWin.
This is a very useful program to spawn script programs or console applications in a Windows environment without opening a DOS box.
How QuickWin Works
QuickWin
contains one or two windows depending on whether you want the same stdout
view for stderr
output or another view. stdin
is in the same view as stdout
. The view is a CRichEditView
window and is not limited in space for the output. Commands like cut, copy, paste, find are also available. QuickView
can spawn console applications, shell (COMMAND.COM or CMD.EXE) or batch files. You start the console application from the command line or browse your disk. You can also stop and restart the console application many times. The content of the output view can be saved to file. The last 10 programs are saved into the registry and available for quick start.
The following parameters are available:
Full or Half Duplex
In full duplex, characters are send to stdin
and displayed into the view. In half duplex, they are only sent to stdin
.
Enter
The enter key (CR) can be translated into CR, LF or CR+LF.
Close on Exit
If the console application is terminated, QuickWin
will terminate.
Show Child Window
You can display the DOS box child window. If you want to write into this "Console
", open the "CON" file and write into it.
OEM -> Ansi
Normally, we must translate characters for console application.
Use Input Buffer
If it is not necessary to send each character one at a time to the stdin
. Characters can be stored in an input buffer until CR is pressed.
Command Line
For COMMAND.COM or CMD.EXE, the command is echoed to stdout
. This option removes the typed command.
Options for COMMAND.COM or CMD.EXE.
Fullduplex, CR->CR+LF,Oem->ANSI, Use input buffer and Command line.
For standard applications, remove the Command line option.
Main Points of Interest in the Source Code
A CRedirect
class that can be used in any WIN32 or MFC applications. This class contains four virtual functions for notification.
virtual void OnChildStarted(LPCSTR lpszCmdLine);
virtual void OnChildStdOutWrite(LPCSTR lpszOutput);
virtual void OnChildStdErrWrite(LPCSTR lpszOutput);
virtual void OnChildTerminate();
The main program is an MFC application that uses the CRedirect
class. PostThreadMessage
is used to post commands in a multithread environment. WM_COPYDATA
is used to post messages to the window.
The MFC print preview bug is not corrected!
Thanks to Paul DiLascia for some pieces of code from TraceWin
.
History
- 17th October, 2000: Initial post
License
This article has no explicit license attached to it, but may contain usage terms in the article text or the download files themselves. If in doubt, please contact the author via the discussion board below.
A list of licenses authors might use can be found here.