Sdílet prostřednictvím


Postupy: Volání funkce systému Windows, která přebírá nepřiřazené typy (Visual Basic).

Pokud zabírají třída, modulu nebo struktura, která má členy celé číslo bez znaménka typy přístup těchto členů s Visual Basic.

Volání funkce systému Windows, která má nepodepsaný typ.

  1. Použití Declare – příkaz zjistit Visual Basic knihovna, která obsahuje funkci, její název je v této knihovně, je jeho volací posloupnost a převodu řetězce při volání je.

  2. V Declare prohlášení použití UInteger, ULong, UShort, nebo Byte pro každý parametr nepodepsané typu.

  3. Funkce systému Windows, který voláte najít názvy a hodnoty konstanty, které používá dokumentaci.Mnohé z těchto jsou definovány v souboru WinUser.h.

  4. Definovat nezbytné konstanty v kódu.Mnoho Windows konstanty jsou 32bitové hodnoty bez znaménka a by měla deklarovat tyto AsUInteger.

  5. Volání funkce normálním způsobem.Následující příklad volání funkce systému Windows MessageBox, který trvá argument číslo bez znaménka.

    Public Class windowsMessage
        Private Declare Auto Function mb Lib "user32.dll" Alias "MessageBox" (
            ByVal hWnd As Integer, 
            ByVal lpText As String, 
            ByVal lpCaption As String, 
            ByVal uType As UInteger) As Integer
        Private Const MB_OK As UInteger = 0
        Private Const MB_ICONEXCLAMATION As UInteger = &H30
        Private Const IDOK As UInteger = 1
        Private Const IDCLOSE As UInteger = 8
        Private Const c As UInteger = MB_OK Or MB_ICONEXCLAMATION
        Public Function messageThroughWindows() As String
            Dim r As Integer = mb(0, "Click OK if you see this!", 
                "Windows API call", c)
            Dim s As String = "Windows API MessageBox returned " &
                 CStr(r)& vbCrLf & "(IDOK = " & CStr(IDOK) &
                 ", IDCLOSE = " & CStr(IDCLOSE) & ")"
            Return s
        End Function
    End Class
    

    Můžete vyzkoušet funkce messageThroughWindows s následujícím kódem.

    Public Sub consumeWindowsMessage()
        Dim w As New windowsMessage
        w.messageThroughWindows()
    End Sub
    
    Poznámka k upozorněníUpozornění

    UInteger, ULong, UShort, A SByte datové typy nejsou součástí Jazyková nezávislost a jazykově nezávislé komponenty (CLS), takže kód kompatibilní se specifikací CLS nesmí zabírat součást, která je používá.

    Poznámka k zabezpečeníPoznámka k zabezpečení

    Volání na nespravovaný kód, jako například Windows application programming interface (API) poskytuje kód potenciálním bezpečnostním rizikům.

    Poznámka k zabezpečeníPoznámka k zabezpečení

    Volání rozhraní API systému Windows vyžaduje oprávnění nespravovaný kód, které by mohly ovlivnit jeho spuštění v situacích částečné důvěryhodnosti.Další informace naleznete v tématu SecurityPermission a Oprávnění pro přístup kódu.

Viz také

Úkoly

Návod: Volání rozhraní API systému Windows (Visual Basic)

Referenční dokumentace

Souhrn datových typů (Visual Basic)

Integer – datový typ (Visual Basic)

UInteger – datový typ

Declare – příkaz