QuickWin - Console Application Into a Window

WEBINAR:
On-Demand

How to Boost Database Development Productivity on Linux, Docker, and Kubernetes with Microsoft SQL Server 2017


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!

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

Top White Papers and Webcasts

  • Using Internet of Things (IoT) technologies, colleges and universities are linking anything and everything to create new applications that elevate the campus experience. It's called a Smart Campus. And it's transforming campus life for students, faculty and visitors. When everything is connected, devices and applications can interact with users and with each other in ways that weren't possible before: digital classrooms, connected campus ID cards, connected lighting and building environmental systems and …

  • When it comes to storage, not all data is the same. Different data has very different performance and capacity requirements. With the explosion of unstructured data – 80% of data growth worldwide is unstructured data – the landscape has become even more complicated. Make sure you have what you need to handle all this data and store it appropriately. This brief, "Top 5 Reasons to Consider Veritas Access," describes how to manage your data, so it's easily accessible regardless of where it resides …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date