【问题标题】:Chrome - File not foundChrome - 找不到文件
【发布时间】:2014-01-29 17:22:52
【问题描述】:

我有一个在 VB.NET 上制作的应用程序;这个应用程序有几个按钮可以生成一个 HTML 文件

Dim PathX As String = Application.StartupPath & "\Web.html"
Dim XWriter As New StreamWriter(PathX)
XWriter.Write(WebX)
XWriter.Flush()
XWriter.Close()

Dim sInfo As New ProcessStartInfo(PathX)
Process.Start(sInfo)
System.Threading.Thread.Sleep(3000)
File.Delete(PathX)

它在 32 位 Win XP OS 上的所有 Web 浏览器上运行正常,但在 Win7 32 位上如果默认浏览器是 Chrome 则无法运行,它会显示“找不到文件”。

在 Win XP 上,如果我打开了 Windows 资源管理器,我可以看到文件在 3 秒后消失;在 Win7 上我看不到它,但它在 IE 上运行良好,所以我假设正在创建文件。

在 Chrome 导航栏中,文件地址类似于

file:///C:/Program%20Files/

在 IE 或 Firefox 中

file:///C:/Program Files/

现在我将可执行文件移动到具有单个名称的另一个目录并且工作正常。

另外,在另一台具有相同处理器(i5)的机器上,即使可执行文件位于 file:///C:/Program Files/

我来自这里 How I can get data after make a POST to an external HTTPS Web Page?

【问题讨论】:

  • 出于安全原因,您最好避免将文件放在“程序文件”中。由于 UAC,Vista 和更好的版本可能会给您带来问题。你最好使用用户临时目录。
  • 我会在下一次编译时考虑到这一点,但我不明白 UAC 与这个问题/问题有何关系。

标签: javascript vb.net google-chrome


【解决方案1】:

您正试图通过文件关联查看文件。相反,您需要使用应用程序的可执行文件并将您的 html 文件的名称作为参数附加。

我不再做太多的 VB,但我可以为您指出一个很好的例子:

http://www.dotnetperls.com/process-start-vbnet

向下滚动到 Microsoft Word 的示例 .. 忽略前面的示例。显示的 Word 示例明确使用了 ms word 可执行文件。

您必须将其替换为 chrome.exe,无论它在您的 PC 上的什么位置。

【讨论】:

  • 让我看看我是否理解得很好,你是在告诉我应该打开本地 HTML 创建的文件,打开 Web 浏览器可执行文件并通过参数发送本地 HTML 文件路径吗?
  • 没错。因为现在,您依赖于 Windows 中的文件关联,而这不适用于 Chrome。
猜你喜欢
  • 2016-09-19
  • 1970-01-01
  • 2012-07-15
  • 2021-11-17
  • 2021-05-22
  • 2021-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多