2013-10-29 90 views
3

我在我的表單應用程序中使用windows forms web browser控件,並在顯示.doc.docx文件時遇到問題。在Microsoft WebBrowser/Windows表單Web瀏覽器上顯示文件

所有的pdf文件似乎工作正常,但是當我選擇word文件時,它帶有打開,保存和取消選項的文件下載加載對話框。

我使用這裏的代碼是

Try 
     If (dlgOpen.ShowDialog() = DialogResult.OK) Then 
      If (File.Exists(dlgOpen.FileName)) Then 
       wbPreview.Navigate(dlgOpen.FileName) 
      End If 
     End If 
    Catch ex As Exception 
     MsgBox(ex.Message, MsgBoxStyle.Critical) 
    End Try 

然後我試圖使用Microsoft WebBrowser控制在How to use the WebBrowser control in Visual Basic to open an Office document,我結束了同一個問題描述。 解決這個問題的任何解決方案?

+0

我想你指的消息具有IE瀏覽器的安全設置,做到發現(並因此只能間接地與Word),並且這不能從web瀏覽器類改變。 – varocarbas

+0

IE設置如何影響這個過程? –

+0

IE管理MS產品中任何與互聯網有關的問題。 WebBrowser遵循IE規則。 – varocarbas

回答

-1

主要的問題是網絡瀏覽器不知道如何打開一個docx文件,所以相反它提供了一個下載。該文件類型爲Have it open in the computer's default viewer

+0

我不想在默認查看器中打開它!只需要顯示在'網頁瀏覽器'控制 –

1

有一個解決方案,但我不知道它有多實用。它會引起用戶註冊表的修改(儘管它不需要管理員權限):

  • 確定Microsoft Word的最新ProgID。 HKEY_CLASSES_ROOT\Word.Document\CurVer有它。例如,它包含Word.Document.12
  • 添加/更新下列鍵和值HKEY_CURRENT_USER\Software\Classes\Word.Document.12下:
 
REGEDIT4 

[HKEY_CURRENT_USER\Software\Classes\Word.Document.12] 
@="Microsoft Word Document" 
"BrowserFlags"=dword:80000024 
"EditFlags"=dword:00010000 

[HKEY_CURRENT_USER\Software\Classes\Word.Document.12\CLSID] 
@="{F4754C9B-64F5-4B40-8AF4-679732AC0607}" 
  • 現在WebBrowser將加載.DOC和.DOCX文件的地方。這是一個幾乎沒有記錄的黑客,more info

  • 您應該保存任何現有的註冊表值,並將新的註冊表值放在WebBrowser.Navigating上,然後在WebBrowser.Navigated上恢復原件。此想法已通過Office 2010和IE10驗證。