2013-08-08 2 views
-2

Я хочу, чтобы открыть документ с WordPad.exe, но он по-прежнему открывает с Microsoft WordКаким ProcessStartInfo не работает

я в настоящее время:

string fullPath = helpFiles[index]; 
ProcessStartInfo psi = new ProcessStartInfo("wordpad.exe"); 
psi.FileName = Path.GetFileName(fullPath); 
psi.WorkingDirectory = Path.GetDirectoryName(fullPath); 
psi.Arguments = fullPath; 
Process.Start(psi); 

ответ

1

Я предполагаю fullPath имя вашего документа , Вы устанавливаете свойство FileName в документ, что означает, что он откроется в редакторе документов по умолчанию (в этом случае Word).

Перегрузка ProcessStartInfo вы используете сеты, имя файл для вас, но вы заменяете это значение с Path.GetFileName(fullPath); именно поэтому wordpad.exe полностью игнорируются. Установите FileName как wordpad и arguments в качестве пути к файлу (например, удалите строку FilePath).

ProcessStartInfo psi = new ProcessStartInfo("wordpad"); 
psi.WorkingDirectory = Path.GetDirectoryName(fullPath); 
psi.Arguments = fullPath; 
Process.Start(psi); 
+0

, что имеет больше смысла, я предположил, что имя_файла - это имя файла, который я хочу открыть, а не процесс. – Chris

0

Вы просто должны делать это:

string fullPath = helpFiles[index]; 
//Check to make sure the path is valid 
Process.Start(fullPath); 

И пусть компьютер определить лучшую программу, чтобы открыть файл с, в зависимости от того, как пользователь имеет свои файл по умолчанию настроен.

+0

Не обязательно, что, если в программе OP есть опция, спрашивающая, хочет ли пользователь открывать в 'wordpad'? – keyboardP

+0

Согласен, если OP хочет, чтобы приложение открывалось специально в текстовом поле, должно быть сделано что-то другое. Я указывал, что ОС уже выполняет ассоциации типов файлов и будет использовать их для открытия соответствующего приложения в соответствии с тем, как пользователь имеет свои ассоциации, указанные на машине. Это функциональность, которую я ожидаю в качестве пользователя. –

+0

Согласен, если этого не ожидается от пользователя, тогда было бы плохо UX IMHO. Я просто говорил, что есть законные причины, по которым вы хотели бы избежать программы по умолчанию в качестве разработчика. – keyboardP

Смежные вопросы