.net 在Microsoft WebBrowser/Windows窗体web浏览器上显示文件
我在窗体应用程序中使用了.net 在Microsoft WebBrowser/Windows窗体web浏览器上显示文件,.net,vb.net,winforms,webbrowser-control,.net,Vb.net,Winforms,Webbrowser Control,我在窗体应用程序中使用了windows窗体web浏览器控件,并且在显示.doc或.docx文件时出现问题 所有的pdf文件似乎都可以正常工作,但当我选择word文件时,会出现文件下载对话框,其中包含打开、保存和取消选项 我在这里使用的代码是 Try If (dlgOpen.ShowDialog() = DialogResult.OK) Then If (File.Exists(dlgOpen.FileName)) Then
windows窗体web浏览器
控件,并且在显示.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
然后,我尝试使用MicrosoftWebBrowser
控件,如中所述,最终出现了相同的问题。
有没有解决这个问题的IDE?主要的问题是web浏览器不知道如何打开docx文件,所以它提供了一个下载文件。对于该文件类型。有一个解决方案,但我不确定它有多实用。它会修改用户注册表(尽管它不需要管理员权限):
- 确定Microsoft Word的最新ProgID
。例如,它包含HKEY\U CLASSES\u ROOT\Word.Document\CurVer
Word.Document.12
- 在
HKEY\u CURRENT\u USER\Software\Classes\Word.Document.12下添加/更新以下键和值:
- 现在
将加载.DOC和.DOCX文件。这是一个几乎没有文档记录的黑客行为WebBrowser
- 您应该保存所有现有注册表值,并在
时将新注册表值放入,然后在WebBrowser.Navigating
时恢复原始注册表值。这一想法已通过Office 2010和IE10得到验证WebBrowser.Navigated
全文可在此处找到我不想在默认查看器中打开它!只需在
web浏览器中显示control我认为您所指的消息与IE的安全设置有关(因此只能间接地与Word有关),这不能从WebBrowser类中更改。IE设置如何影响此过程?IE管理MS产品中与internet连接相关的任何问题。网络浏览器遵循IE规则。
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}"