2012-06-06 48 views
2

我有一系列HTTP鏈接存儲在數據庫中有一個命名標籤作爲鏈接的一部分(例如http://somecompany.com/products#123332),它代表產品123332在一個相當大的頁面。谷歌鉻命令行鏈接與vb字符串中的命名標籤

上述鏈接在使用IE時很好,但不適用於Chrome。該#字符被轉換爲%23,Chrome無法找到該文件。在瀏覽器的地址欄中將%23更改回#可正常工作。

該鏈接存儲在一個標準的VB String,我試圖通過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 
+0

哪個版本的chrome?當我在cmd.exe中輸入'C:/path/to/chrome.exe http:// somecompany.com/products#123332'時,地址欄保留「#」。你能告訴我們你設置'strBrowser'和'strLink'變量的代碼嗎? –

+0

我在這裏有版本19.0.1084.52,但不知道客戶端有什麼版本。 –

+0

將帖子添加到帖子中 –

回答

1

您可以通過執行打開任何Chrome窗口存儲通過Visual Basic中的字符串變量的任何網址:

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

之後,Chrome應該開拓和地址它去應該是strLink的內容。