Condividi tramite


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

Altre risorse

Interoperabilità COM