Procedura: chiamare API di Windows (Visual Basic)
Aggiornamento: novembre 2007
Nell'esempio riportato di seguito la funzione MessageBox viene definita e chiamata nel file user32.dll, quindi a essa viene passata una stringa.
Esempio
Questo esempio di codice è disponibile anche come frammento di codice IntelliSense. Nella casella di selezione dei frammenti di codice si trova in Linguaggio Visual Basic. Per ulteriori informazioni, vedere Procedura: inserire frammenti nel codice (Visual Basic).
' 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
Compilazione del codice
L'esempio presenta i seguenti requisiti:
- Un riferimento allo spazio dei nomi System.
Programmazione efficiente
Le seguenti condizioni possono generare un'eccezione:
Il metodo non è statico, è astratto oppure è stato definito in precedenza. Il tipo padre è un'interfaccia oppure la lunghezza del name o di dllName è zero. (ArgumentException)
Il name o dllName è Nothing. (ArgumentNullException)
Il tipo contenitore è stato creato in precedenza utilizzando CreateType. (InvalidOperationException)
Vedere anche
Attività
Procedura dettagliata: chiamata delle API di Windows
Concetti
Informazioni dettagliate sul richiamo piattaforma
Esempi di richiamo piattaforma
Utilizzo di funzioni di DLL non gestite
Definizione di un metodo tramite la reflection emit