Como: chamar APIs do Windows (Visual Basic)
Este exemplo define e chama a função MessageBox na user32.dll e, em seguida, passa uma cadeia de caracteres para ela.
Exemplo
' Defines the MessageBox function.
Public Class Win32
Declare Auto Function MessageBox Lib "user32.dll" (
ByVal hWnd As Integer, ByVal txt As String,
ByVal caption As String, ByVal Type As Integer
) As Integer
End Class
' Calls the MessageBox function.
Public Class DemoMessageBox
Public Shared Sub Main()
Win32.MessageBox(0, "Here's a MessageBox", "Platform Invoke Sample", 0)
End Sub
End Class
Compilando o código
Este exemplo requer:
- Uma referência ao namespace System.
Programação robusta
As seguintes condições podem causar uma exceção:
O método não é estático, é abstrato ou foi definido anteriormente.O tipo pai é uma interface, ou o comprimento do Name ou dllName é zero.(ArgumentException)
O Name ou dllName é Nothing.(ArgumentNullException)
O tipo recipiente foi criado anteriormente usando CreateType.(InvalidOperationException)
Consulte também
Tarefas
Passo a passo: Chamando APIs do Windows (Visual Basic)
Conceitos
Uma análise detalhada da plataforma Invoke
Exemplos de invocação de plataforma
Consumir funções DLL não gerenciada
Definindo um método com reflexão emitir.