Exemplos de invocação de plataforma
sistema autônomo exemplos a seguir demonstram sistema autônomo definir e chamar o MessageBox função em User32.dll, passando uma cadeia de caracteres simples sistema autônomo um argumento.Nos exemplos, a Campo DllImportAttribute.CharSet estiver definido como Automático para permitir que a plataforma de destino determinar a largura de caractere e marshaling de seqüência de caracteres.
O mesmo exemplo aparece no Visual Basic, translation from VPE for Csharp e C++.Para mostrar todos os exemplos, clicar o botão de filtro de linguagem no canto superior esquerdo da página. Para obter exemplos adicionais, consulte marshaling de dados com invocação de plataforma.
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
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);
}
}
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(void) {
String* pText = L"Hello World!";
String* pCaption = L"Platform Invoke Sample";
MessageBox(0, pText, pCaption, 0);
}
Consulte também
Conceitos
Criando protótipos em código gerenciado
Especificando um conjunto de caracteres