2

我有一系列存储在数据库中的 HTTP 链接,它们有一个命名标记作为链接的一部分(例如http://somecompany.com/products#123332),它在一个相当大的页面中表示产品 123332。

上面的链接在使用 IE 时可以正常工作,但不适用于 Chrome。字符被#转换为%23Chrome 找不到参考。将浏览器的地址字段中的%23背面更改为正常工作。#

该链接存储在标准 VB 中String,我尝试#通过String.Replace(). 必须有一种正确的方法来正确编码,我似乎无法在网络上找到任何似乎有效的参考资料。

调用的简化示例如下:

Shell(strBrowser & strLink) 

wherestrBrowser包含所有必要的路径和 exe 名称,并且strLink是一个类似于我上面提到的字符串。也如前所述,它适用于 IE。我怎样才能正确编码呢?

谢谢。

编码

If oFichierAide.LienIntern = 1 Then
    strLink = " " + Chr(34) + VarGlobales.EmplacementAppl + oFichierAide.LienFichier + Chr(34)
Else
    strLink = " " + Chr(34) + oFichierAide.LienFichier + Chr(34)
End If

Try
    regBrowserKey = My.Computer.Registry.ClassesRoot.OpenSubKey("HTTP\shell\open\command", False)
    strBrowser = regBrowserKey.GetValue(Nothing).ToString().ToLower().Replace(Chr(34), "")
    strBrowser = strBrowser.Substring(0, strBrowser.LastIndexOf(".exe") + 4)

Finally
    If regBrowserKey IsNot Nothing Then
        regBrowserKey.Close()
    End If
End Try

If strBrowser.Length > 0 And strLink.Length > 1 Then
    Dim strCall As String = strBrowser + strLink
    Shell(strCall, AppWinStyle.NormalFocus, False)
    Return True
End If
4

1 回答 1

1

您可以通过执行以下操作打开任何 chrome 窗口到通过 Visual Basic 使用字符串变量存储的任何 URL:

Dim appData As String = GetFolderPath(SpecialFolder.ApplicationData)
Dim chromelocation = appdata + "\Local\Google\Chrome\Application\chrome.exe"
process.start(chromelocation + strLink)

然后 Chrome 应该打开并且它去的地址应该是 strLink 的内容。

于 2012-09-22T00:16:06.903 回答