2012-06-11 3 views
1

Я хотел бы программно открыть документ с URL-адреса SharePoint.Открыть файл по URL из WPF

У меня есть следующий код:

Process wordProcess = new Process(); 
wordProcess.StartInfo.FileName 
    = "http://sharepoint/blank_site_1/document library 1/word document.docx"; 
wordProcess.StartInfo.UseShellExecute = true; 
wordProcess.Start(); 

Это открывает окно веб-браузера и загружает файл, который не то, что я хочу. Если я добавляю

wordProcess.StartInfo.Verb = "OpenAsReadOnly" 

согласно (the documentation) я получаю исключение Win32 «неправильный параметр» в wordProcess.Start(), несмотря на глагол присутствует в wordProcess.StartInfo.Verbs при рассмотрении в отладчике.

У меня есть POC, который делает это, извлекая программу по умолчанию из реестра, создавая команду и запуская программу с именем файла, но я бы предпочел не идти по этому маршруту, если это можно легко решить, так как все Я хочу сделать, это открыть файл (путь которого просто выглядит как URL) с программой по умолчанию.

ответ

2

Только предположение, попробуйте следующее:

wordProcess.StartInfo.FileName = "winword.exe"; 
wordProcess.StartInfo.Arguments = "\"http://sharepoint/blank_site_1/document_library_1/word document file.docx\""; 
+0

Спасибо за ответ. Указание winword.exe - это то, чего я хочу избежать - я просто хочу открыть документ (который, случается, с URL-адресом), с программой по умолчанию, которая не является веб-браузером. Я начинаю думать, что это может быть невозможно. – sennett

+0

К сожалению, если вы укажете URL-адрес, то по умолчанию это браузер. В любом случае, если Word установлен, то он находится в PATH, поэтому вам не обязательно знать, где именно находится winword.exe на машине пользователя. – kol

+0

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

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