Mohamed
Mohamed

Reputation: 1597

Open a file with Notepad in C#

How I open a file in c#? I don't mean reading it by textreader and readline(). I mean open it as an independent file in notepad.

Upvotes: 149

Views: 230323

Answers (6)

Aren
Aren

Reputation: 55966

You need System.Diagnostics.Process.Start().

The simplest example:

Process.Start("notepad.exe", fileName);

More Generic Approach:

Process.Start(fileName);

The second approach is probably a better practice as this will cause the windows Shell to open up your file with it's associated editor. Additionally, if the file specified does not have an association, it'll use the Open With... dialog from windows.

Note to those in the comments, thankyou for your input. My quick n' dirty answer was slightly off, i've updated the answer to reflect the correct way.

Upvotes: 241

Oded
Oded

Reputation: 499352

You can use Process.Start, calling notepad.exe with the file as a parameter.

 Process.Start(@"notepad.exe", pathToFile);

Upvotes: 14

TimothyP
TimothyP

Reputation: 21765

You are not providing a lot of information, but assuming you want to open just any file on your computer with the application that is specified for the default handler for that filetype, you can use something like this:

var fileToOpen = "SomeFilePathHere";
var process = new Process();
process.StartInfo = new ProcessStartInfo()
{
    UseShellExecute = true,
    FileName = fileToOpen
};

process.Start();
process.WaitForExit();

The UseShellExecute parameter tells Windows to use the default program for the type of file you are opening.

The WaitForExit will cause your application to wait until the application you luanched has been closed.

Upvotes: 35

AJ.
AJ.

Reputation: 16729

Use System.Diagnostics.Process to launch an instance of Notepad.exe.

Upvotes: 8

Vaibhav
Vaibhav

Reputation: 7008

System.Diagnostics.Process.Start( "notepad.exe", "text.txt");

Upvotes: 16

Colin Pickard
Colin Pickard

Reputation: 46673

this will open the file with the default windows program (notepad if you haven't changed it);

Process.Start(@"c:\myfile.txt")

Upvotes: 26

Related Questions