JavascriptProva

lunedì 16 settembre 2013

VB.NET: Sintassi di Declare per la dichiarazione delle API di Windows.

Cerchiamo di fissare bene la sintassi di Declare.

Ho trovato uno schema: Declare Function (function name) Lib (library) (arguments)
Proviamo a seguirlo...
Public Class Form1
    Declare Function Bippa Lib "kernel32" Alias "Beep" (ByVal dwFreq As Integer, ByVal dwDuration As Integer) As Integer

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Bippa(440, 2000)
        Bippa(800, 2000)
    End Sub
End Class
Ecco la funzione Beep della libreria "kernel32.dll", che ho rinominato alla buona "Bippa".
Dopo la specifica della libreria e prima degli argomenti va inserito l'Alias sotto forma di stringa, ossia il nome con cui la funzione figura nella libreria.

Proviamo con MessageBox.
Public Class Form1
    Declare Function Messaggio Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Integer, ByVal message As String, ByVal capt As String, ByVal uType As Integer) As Integer

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Messaggio(0, "Ciao, ciccio", "Messaggio", 0)
    End Sub

End Class
...che funziona, ovviamente!

Nessun commento:

Posta un commento