2012-06-11 58 views
1

我想以編程方式打開SharePoint URL中的文檔。通過WPF的URL打開文件

我有以下代碼:

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