C# 如何从VB.Net或C中传递LPCSTR*以使用ActainUserAgentString
这是我的代码,我得到了错误输入参数C# 如何从VB.Net或C中传递LPCSTR*以使用ActainUserAgentString,c#,.net,vb.net,winapi,C#,.net,Vb.net,Winapi,这是我的代码,我得到了错误输入参数 Imports System.Runtime.InteropServices Module Module1 Private Declare Function ObtainUserAgentString Lib "urlmon.dll" (ByVal dwOption As Integer, ByRef pcszUAOut As String, ByRef cbSize As Integer) As Integer Sub Main()
Imports System.Runtime.InteropServices
Module Module1
Private Declare Function ObtainUserAgentString Lib "urlmon.dll" (ByVal dwOption As Integer, ByRef pcszUAOut As String, ByRef cbSize As Integer) As Integer
Sub Main()
Dim c As String
Dim ptr As IntPtr = Marshal.StringToHGlobalUni(c)
Dim useragent As String
Dim size As Integer
Dim result As Integer
result = ObtainUserAgentString(0, useragent, size)
'Try
'result = ObtainUserAgentString(0, ptr, size)
'Finally
' Marshal.FreeHGlobal(ptr)
' 'End Try
End Sub
End Module
显示actainUserAgentString
函数定义为:
c#
[DllImport(ExternDll.Urlmon,ExactSpelling=true,CharSet=System.Runtime.InteropServices.CharSet.Ansi,BestFitMapping=false,ThrowOnUnmappableChar=true)]
私有静态外部MS.Internal.Interop.HRESULT获取用户代理字符串(int-dwOption,StringBuilder-userAgent,ref-int-length);
vb.net
_
私有共享函数获取UserAgentString(dwOption为整数,userAgent为StringBuilder,ByRef长度为整数)为MS.Internal.Interop.HRESULT
端函数
所以你问题的答案是