我想要獲得默認瀏覽器的UserAgent使用ObtainUserAgentString API Visual Basic 6。我在MSDN上找到了這個文檔,並試圖將它轉換爲Visual Basic 6,但它不起作用。如何在Visual Basic 6中獲取瀏覽器的UserAgent字符串?
C++(MSDN)
HRESULT ObtainUserAgentString(
_In_ DWORD dwOption = 0,
_Out_ LPCSTR *pcszUAOut,
_Out_ DWORD *cbSize
);
Visual Basic 6的API
Private Declare Function ObtainUserAgentString Lib "Urlmon.dll" (ByVal dwOption As Long, ByRef pcszUAOut As String, ByRef cbSize As Long) As Long
Private Function BrowserUserAgent() As String
Dim httpUseragent As String
Dim szhttpUserAgent As Long
httpUseragent = Space(512)
szhttpUserAgent = Len(httpUseragent)
Call ObtainUserAgentString(0, httpUseragent, szhttpUserAgent)
BrowserUserAgent = httpUseragent
End Function
Private Sub Command1_Click()
MsgBox BrowserUserAgent
End Sub
記住的字符串始終按地址傳遞。關鍵字ByVal傳遞一個C字符串byRef,ByRef傳遞一個BStr ByRef。 BStr是一個帶有4個字節頭的Cstr。因此,ByVal將開始4個字節的內存地址傳遞給字符串。 – 2016-11-12 06:36:03
如果機器未使用,該怎麼辦?即 –
要點Urlmon是IE生態系統的一部分,與第三方瀏覽器沒有任何關係。 – Bob77