我很迷茫,是个新手,所以请耐心等待。
在C ++中,该函数如下所示:
int __stdcall helloworld(HWND mWnd,HWND aWnd,char *data,char *parms,BOOL show,BOOL nopause) {
strcpy(data,"hello world");
return 3;
}
我正在尝试在VB.NET中复制它,而我在char *data
和char *parms
部分碰到了一堵墙。
Public Shared Function helloworld(ByVal mWnd As IntPtr,ByVal aWnd As IntPtr,ByRef data As Char,ByRef parms As Char,ByVal show As Boolean,ByVal nopause As Boolean) As Integer
data = "hello world"
Return 3
End Function
这导致输出"h"
,因此我尝试了data()
,这导致了乱码。然后我在某处读取到VB.NET中等效于C / C ++ char的字节,因此我尝试了data() As Byte
和data = System.Text.Encoding.Default.GetBytes("hello world")
,这又导致了乱码。
DLL接收到的内容无法更改,因此我需要找到一种VB.NET对其进行处理的方法。我的问题是;如何在VB.NET中做到这一点?甚至可以做到吗?