user1985189
user1985189

Reputation: 669

How to open a file using a specified third party program in C#?

so what I'm trying to do is open a file (well, actually two folders, but I figure I'll start with a single file for now) using a third party comparison tool called UltraCompare. I'm working in a C# website project in Visual Studio 2010 (Express edition). I've seen how to open a file using a different program, here: Open a file with Notepad in C#.

Problem is, this only lets you open it using the default program for that file type. But I want to open it in a specified program. For example, a text file should open in UltraCompare, not notepad. Here's the code which does this:

string textBoxContents1 = TextBox1.Text;
Process.Start(textBoxContents1);

The textbox on the webform accepts a string, in which the user types the file's full path (not the most user-friendly design I know, but I'm not sure how to allow them to browse for a folder using a GUI interface in asp.NET). The file is then passed into the Process.Start() method, which opens it using the default program for that file type.

Is there any way to modify this to make it open using UltraCompare??

Upvotes: 1

Views: 1544

Answers (2)

Adriano Carneiro
Adriano Carneiro

Reputation: 58615

You can specify the program you want to open the file in:

Process.Start("yourprogram.exe", textBoxContents1);

Update

To open two files in Ultracompare, you'd probably do something like that:

Process.Start("yourprogram.exe", "file1.txt file2.txt");

Keep in mind that the second parameter of Process.Start method are the arguments passed to the program.

I said this is probably going to work because I assumed to be very likely that Ultracompare expects 2 arguments, but this might not be the case.

Upvotes: 2

Rohith Nair
Rohith Nair

Reputation: 1070

Quick question: Are you trying to do this for the client machine? Hope not And I guess it looks into the PATH variable for finding your exe

Upvotes: 0

Related Questions