Compartilhar via


Exemplos de invocação de plataforma

Os exemplos a seguir demonstram como definir e chamar o MessageBox a função no User32. dll, passando uma seqüência de caracteres simple como um argumento. Nos exemplos, o DllImportAttribute.CharSet campo campo será definido como automático para permitir que a plataforma de destino determinar a largura de caractere e empacotamento de seqüência de caracteres.

O mesmo exemplo aparece em Visual Basic, C# e C++. Para mostrar todos os exemplos, clique no botão de filtro de linguagem 42b9ea93.Filter2(pt-br,VS.100).gif no canto superior esquerdo da página. Para obter exemplos adicionais, consulte o empacotamento de dados com a 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

Referência

DllImportAttribute

Conceitos

A criação de protótipos em código gerenciado

Especificando um conjunto de caracteres