Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Följande exempel visar hur du definierar och anropar funktionen MessageBox i User32.dlloch skickar en enkel sträng som ett argument. I exemplen är fältet DllImportAttribute.CharSet inställt på Auto för att låta målplattformen bestämma teckenbredd och strängrappning.
using namespace System::Runtime::InteropServices;
typedef void* HWND;
[DllImport("user32", CharSet=CharSet::Auto)]
extern "C" IntPtr MessageBox(HWND hWnd,
String* pText,
String* pCaption,
unsigned int uType);
void main()
{
String* pText = L"Hello World!";
String* pCaption = L"Platform Invoke Sample";
MessageBox(0, pText, pCaption, 0);
}
using System;
using System.Runtime.InteropServices;
public class Win32 {
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern IntPtr MessageBox(int hWnd, String text,
String caption, uint type);
}
public class HelloWorld {
public static void Main() {
Win32.MessageBox(0, "Hello World", "Platform Invoke Sample", 0);
}
}
Imports System.Runtime.InteropServices
Public Class Win32
Declare Auto Function MessageBox Lib "user32.dll" _
(ByVal hWnd As Integer, ByVal txt As String, _
ByVal caption As String, ByVal Typ As Integer) As IntPtr
End Class
Public Class HelloWorld
Public Shared Sub Main()
Win32.MessageBox(0, "Hello World", "Platform Invoke Sample", 0)
End Sub
End Class
Ytterligare exempel finns i Marshalling Data with Platform Invoke.