Click here to Skip to main content
Click here to Skip to main content

QuickWin - Turn a console application into a Windows program

By , 17 Oct 2000
 
  • Download source files - 105 Kb
  • Download executable - 18 Kb
  • Sample Image

    Introduction

    QuickWin is a Windows application that spawns a Win32 console application that redirecte its stdin, stdout and stderr handles to a window. The console application is hiden and all I/O operations are made through QuickWin.

    This is a very useful program to spawn script programs or console applications in a Window environment without opening a DOS box.

    How QuickWin works

    QuickWin contains one or two windows depending on if 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 send 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

    Date Posted: Oct.17-2000

    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

    About the Author

    Lanz Jean-Claude
    Switzerland Switzerland
    Member
    No Biography provided

    Sign Up to vote   Poor Excellent
    Add a reason or comment to your vote: x
    Votes of 3 or less require a comment

    Comments and Discussions

     
    Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
    You must Sign In to use this message board.
    Search this forum  
        Spacing  Noise  Layout  Per page   
    Question2Tb Virtual Diskmembernhchmg27 Jun '11 - 20:23 
    GeneralMemory Leak after calling CMainFrame::ShowSplitter( FALSE ) [modified]memberkarel_tandd8 Jun '11 - 19:29 
    GeneralGreat Code and Solution - Thanks For Sharingmemberoldbritthumper8 Jan '10 - 3:27 
    QuestionCrash,when dropfile into the appmembersuxiaojack1 Jul '08 - 17:27 
    QuestionIssues in XP/VS2003memberJohn Lomen24 Oct '07 - 6:13 
    Generalkbhit that works on child stdinmembermycal19 Sep '07 - 19:11 
    QuestionSending ALT-]memberkdekome21 Feb '07 - 6:47 
    GeneralQuickWin Example for VB.Netmembergprodri8 Feb '07 - 7:18 
    GeneralRe: QuickWin Example for VB.Netmemberberilium9 Feb '07 - 0:32 
    GeneralRe: QuickWin Example for VB.Netmemberberilium9 Feb '07 - 4:17 
    GeneralRe: QuickWin Example for VB.Netmemberberilium9 Feb '07 - 4:33 
    GeneralRe: QuickWin Example for VB.Netmembergprodri9 Feb '07 - 6:32 
    GeneralRe: QuickWin Example for VB.Netmemberberilium26 Feb '07 - 23:47 
    GeneralCtrl+C and redirected consolememberaxelsw3 Nov '06 - 7:19 
    GeneralRe: Ctrl+C and redirected consolememberjorgening19 Jan '07 - 7:47 
    QuestionRedirect output form time critical applicationmemberMariuszGorczak18 Dec '05 - 5:14 
    GeneralHaving trouble getting the output when implementing Redirect classmemberhackerjack1235 Dec '05 - 15:16 
    GeneralAssertion on CRedirect Line 173memberCrercio O. Silva28 Aug '05 - 6:06 
    GeneralOutput is displayed after my console application exitsmemberHamid Reza Mohammadi20 Aug '05 - 21:53 
    GeneralRe: Output is displayed after my console application exitsmemberHamid Reza Mohammadi27 Aug '05 - 7:23 
    GeneralNot all console applications workmemberStuart Konen5 Apr '05 - 8:46 
    AnswerRe: Not all console applications workmemberLeFauve10 Oct '05 - 1:55 
    QuestionCan QuickWin Output be Redirected to a File?memberjroeb24 Mar '05 - 8:06 
    Generalwin console to wincememberlagunasun6 Feb '05 - 16:58 
    QuestionWhat about redirecting standard output of your own app?memberLuca Piccarreta24 Dec '04 - 1:01 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

    Permalink | Advertise | Privacy | Mobile
    Web01 | 2.6.130523.1 | Last Updated 18 Oct 2000
    Article Copyright 2000 by Lanz Jean-Claude
    Everything else Copyright © CodeProject, 1999-2013
    Terms of Use
    Layout: fixed | fluid