Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Win32Exception the parameter is incorrect

exe file using Process.Start() but it throws the "Win32Exception the parameter is incorrect".

Process p = new Process();
Process.Start("C:\Program Files\APS2PP\keyl2000.exe");

I can run this file through command prompt successfully.

like image 715
Mukesh Gupta Avatar asked Feb 25 '23 04:02

Mukesh Gupta


2 Answers

Process.Start("C:\Program Files\APS2PP\keyl2000.exe")

Use double backslashes or put a @ in front of the string.

 Process.Start(@"C:\Program Files\APS2PP\keyl2000.exe");
like image 110
Hans Passant Avatar answered Mar 07 '23 00:03

Hans Passant


From: http://msdn.microsoft.com/en-us/library/53ezey2s.aspx

Win32Exception - An error occurred when opening the associated file.

1) If you're going to use the static method of Process.Start(String) you don't really need to declare a Process object.

//Use...
Process p = new Process();
p.StartInfo = new ProcessStartInfo(filename);
p.Start();

//Or...

Process.Start(filename);

2) The exception is basically saying that it can not open that file for some reason. Are you sure the path is correct? Have you tried opening that file manually?

3) Make sure to define your file paths somewhere more organized. Such as a settings file. This also helps eliminate the need for escaping the characters. But, if you insist on leaving that string inline, at least remove the need for escape characters by preceding it with the @ symbol (@"C:\Program Files\SomeFile.exe")

like image 35
myermian Avatar answered Mar 06 '23 23:03

myermian