gpt4 book ai didi

.net - 在 Microsoft WebBrowser/Windows 窗体 Web 浏览器上显示文件

转载 作者:行者123 更新时间:2023-12-02 03:41:37 27 4
gpt4 key购买 nike

我在我的表单应用程序中使用 windows 表单网络浏览器 控件,但在显示 .doc.docx 文件时遇到问题。

所有 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 中所述我最终遇到了同样的问题。有什么办法解决这个问题吗?

最佳答案

有一个解决方案,但我不确定它的实用性如何。它会导致对用户注册表的修改(尽管它不需要管理员权限):

  • 确定 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 文件。这是一个几乎没有记录的 hack,more info .

  • 您应该保存所有现有的注册表值并将新值放入 WebBrowser.Navigating,然后在 WebBrowser.Navigated 恢复原始值。这个想法已经用Office 2010和IE10验证过了。

关于.net - 在 Microsoft WebBrowser/Windows 窗体 Web 浏览器上显示文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19656803/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com