Vb.net Google Chrome命令行链接,带有vb字符串中的命名标记
我在数据库中存储了一系列HTTP链接,其中有一个命名标记作为链接的一部分(例如Vb.net Google Chrome命令行链接,带有vb字符串中的命名标记,vb.net,google-chrome,character-encoding,Vb.net,Google Chrome,Character Encoding,我在数据库中存储了一系列HTTP链接,其中有一个命名标记作为链接的一部分(例如http://somecompany.com/products#123332),它在一个相当大的页面中表示产品123332 上面的链接在使用IE时可以正常工作,但不适用于Chrome。字符被转换为%23,Chrome无法找到引用。在浏览器的地址字段中将%23更改回可以正常工作 链接存储在标准的VB字符串中,我尝试通过String.Replace()用不同的值替换。一定有正确的编码方法,我只是在网上找不到任何有效的参考资
http://somecompany.com/products#123332
),它在一个相当大的页面中表示产品123332
上面的链接在使用IE时可以正常工作,但不适用于Chrome。
字符被转换为%23
,Chrome无法找到引用。在浏览器的地址字段中将%23
更改回
可以正常工作
链接存储在标准的VB字符串中,我尝试通过String.Replace()
用不同的值替换
。一定有正确的编码方法,我只是在网上找不到任何有效的参考资料
调用的简化示例如下:
Shell(strBrowser & strLink)
其中,strBrowser
包含所有必需的路径和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
通过执行以下操作,您可以通过Visual Basic打开任何chrome窗口,指向存储有字符串变量的任何URL:
Dim appData As String = GetFolderPath(SpecialFolder.ApplicationData)
Dim chromelocation = appdata + "\Local\Google\Chrome\Application\chrome.exe"
process.start(chromelocation + strLink)
然后Chrome应该打开,它的地址应该是strLink的内容。哪个版本的Chrome?当我键入C:/path/to/chrome.exe时http://somecompany.com/products#123332
在cmd.exe中,地址栏保留“#”。您能告诉我们设置strBrowser和strLink变量的代码吗?我这里有19.0.1084.52版,但不确定客户端有什么版本。