0

я создал свою программу в Compact Framework 3.5, и я пытаюсь открыть HTML-файл в моей программе, используя этот код:не удается преобразовать из строки в System.Diagnostics.ProcessStartInfo C#

string path = @"Help\index.html"; 
System.Diagnostics.Process.Start(path); 

Однако я я получаю следующую ошибку:

Argument '1': cannot convert from 'string' to 'System.Diagnostics.ProcessStartInfo'

Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно?

+0

Это работает для меня –

+1

попробовать 'System.Diagnostics.ProcessStartInfo р = новый System.Diagnostics.ProcessStartInfo (путь); System.Diagnostics.Process.Start (p); ' –

+0

@Muhammadimran Я получаю ту же ошибку – nate

ответ

3

Ваш код работает для меня; Однако, вы можете попробовать следующий код:

System.Diagnostics.ProcessStartInfo p = new System.Diagnostics.ProcessStartInfo(path); 
System.Diagnostics.Process.Start(p); 

В качестве альтернативы, вы можете попробовать:

Process.Start("chrome.exe", path); 
1

Это работало лучше для Уплотненного Framework 3.5 для Windows Embedded 6.5. Я бы не получил этого без ответа Мухаммеда Имрана.

Вот код:

Process myProcess = new Process(); 

      try 
      { 
       // true is the default, but it is important not to set it to false 
       myProcess.StartInfo.UseShellExecute = true; 
       myProcess.StartInfo.FileName = "http://some.domain.tld/bla"; 
       myProcess.Start(); 
      } 
      catch (Exception er) 
      { 
       Console.WriteLine(er.Message); 
      } 
     } 
+0

Вам нужно установить useShellExecute в true, потому что вы не запускаете исполняемый файл напрямую (это произойдет, только если вы передадите файл «.exe» в качестве имени файла, и поэтому системе необходимо выяснить, какое приложение подключено к ресурсу, который вы хотите Это делается путем поиска в реестре, и это то, что обычно делает проводник (оболочка). –