dcsimg

QuickWin - Console Application Into a Window

WEBINAR:
On-Demand

Application Security Testing: An Integral Part of DevOps


Introduction

QuickWin is a window application that spawn a Win32 console application redirecting his stdin, stdout and stderr handles to a window. The console application is hiding 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 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 and is not limited in space for the Output. Command 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 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 into 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, character can be written into 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 tipped command.

Options for COMMAND.COM or CMD.EXE.

Full duplex, CR->CR+LF, Oem->ANSI, Use input buffer and Command line.

For standard applications, remove the Command line option.

Main interest in 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 use the CRedirect class. PostThreadMessage to post command in multithread environment. WM_COPYDATA to post message to window.

The MFC print preview bug is not corrected!

Thanks to Paul DiLascia for some pieces of code from TraceWin.

Downloads

Download QuickWin application - 34 Kb
Download source and demo project - 107 Kb


Comments

  • There are no comments yet. Be the first to comment!

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • In order for IT service providers to succeed, it's paramount that they find a competitive advantage and continually develop new ways to find additional revenue streams. IT service providers need to be able to do it all for their clients – from managing entire technology infrastructures to responding quickly to a multitude of end-user needs. With a growing number of issues to resolve and limited technicians at hand, how can IT service providers operate efficiently while providing top-notch service …

  • IT planners have far more options as to where to run their workloads than ever before. On-premises data centers, co-location facilities and managed services providers are now joined by hybrid multi-clouds – a combination of Software-, Infrastructure- and Platform-as-a-Service (SaaS, IaaS, and PaaS) execution venues. All have unique operational, performance and economic characteristics that need to be considered when deploying workloads. Submit the form to watch this webinar replay featuring 451 …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date
×
We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.