65.9K
CodeProject is changing. Read more.
Home

Run a Command Line Tool as a Windows Application in C#

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.25/5 (10 votes)

Apr 9, 2002

1 min read

viewsIcon

284800

downloadIcon

5745

Simple windows application in C# to give command line tools the convenient windows interface

Sample Image

Introduction

It's almost always more convenient to work with a windows GUI other than have to use the DOS command prompt. It's easy to convert a DOS command line tool into a Windows like application in C# by simply adding some Windows Forms tools interacting with some code. 

Here I take the RegenResx.exe as an example. I built a simple windows interface so that I could easily convert old version resx files to be compatible with any version of the .NET framework. This command line tool is very useful when upgrading older version resource files. The tool itself can be found at RegenResx Conversion Tool, or Upgrading from the .NET Framework Beta Versions.  I use the System.Diagnostics namespace and the Process.Start Method. This simple approach could similarly be applied to run other command line tools, DOS commands, and other windows applications. Some examples are also provided in the demo project.

The demo project is a windows form application. A TabControl is put on a Windows form. Each of the three tabs demonstrates a simple situation, either to run a command line tool, a DOS command, or to run another windows application, such as launch Internet Explorer with given address.

Code Sample

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Diagnostics;

    ...

    //Declare and instantiate a new process component.
    System.Diagnostics.Process process1;
    process1= new System.Diagnostics.Process();

    //Do not receive an event when the process exits.
    process1.EnableRaisingEvents = false;


    //The "/C" Tells Windows to Run The Command then Terminate 
    string strCmdLine;
    strCmdLine = "/C regenresx "+textBox1.Text + " " +textBox2.Text;
    System.Diagnostics.Process.Start("CMD.exe",strCmdLine);
    process1.Close();

    ...

Summary

Take the command line tool RegenResx as an example, write the windows interface to convert old version resx files to be compatible with any version of the .NET framework. It's easy and fun to write simple useful application in C# using the powerful .NET Framework.