Dim myStru As aa
myStru.a1 = "AA"
myStru.a2 = 1
myStru.a3 = 2
Dim rawsize As Integer = Runtime.InteropServices.Marshal.SizeOf(myStru)
Dim buffer As IntPtr = Runtime.InteropServices.Marshal.AllocHGlobal(rawsize)
Runtime.InteropServices.Marshal.StructureToPtr(myStru, buffer, False)
Dim rawdatas(rawsize - 1) As Byte
Runtime.InteropServices.Marshal.Copy(buffer, rawdatas, 0, rawsize)
Runtime.InteropServices.Marshal.FreeHGlobal(buffer)
MsgBox(UBound(rawdatas))
'rawdatas 就是你需要的Byte()