Category Archives: Console

Coding for console appliacations

How disable Control-C in a console program.

Control-C (CTRL+C) key combinations sends special signal to console processes, when a console window has the keyboard focus. By default Control-C (also Control-Break) signal is treated not as keyboard input but aborts all console processes attached to this console. In GUI applications Control-C is treated differently and usually is used to copy highlighted text or… Read More »

How To Find Parent Process in Windows

Everything has been started by someone. It is related also to any application executed in operating system, except system itself. If you start notepad from command prompt the parent process of notepad process is command prompt. Currently most of the people find parent process using WMI query. For example: C:\projects>wmic process get processid,parentprocessid,name | findstr… Read More »

Processing Output Debug String Event

In previous article “Writing Windows Debugger in C#” the whole debugger architecture for Windows OS was discuss. This post describe how to process output debug string event sent by debugged process. On debugger side output debug string event is triggered by OutputDebugString function call, which has 2 versions: ASCII version OutputDebugStringA and Unicode version OutputDebugStringW.… Read More »

Writing Windows Debugger in C#

Actually C# is not the best language to call Windows Debugging functions. Several pinvokes and debugging structures definitions are required. They may be taken for winbase.h include file. In attached projects these pinvoke and structures definitions are located in PInvokes.cs file. Debugger is a program to debug another process. The debugger may start new process… Read More »

Preparation for Console Tetris

There was time when console was everywhere and no graphic user interface for any operating system at all. Nowadays some computer users even does not know what is command prompt for Windows or terminal for Macintosh OSX. Command line user interface (CLI) is preferred console interface. To display computer graphic in text console so called… Read More »

“Hello ASM” in masm32

The Microsoft Assembler (commonly known as MASM) was software development tool created by Microsoft. It has been maintained and updated for over 30 years. Currently MASM32 SDK is an independent project that is designed to ease the entry of experienced programmers into the field of assembler language programming. It has freeware licence and available from… Read More »