Útmutató: Nem aláírt típusokat használó Windows-függvény meghívása (Visual Basic)
Ha olyan osztályt, modult vagy struktúrát használ, amely nem aláírt egész típusú tagokkal rendelkezik, ezeket a tagokat a Visual Basic használatával érheti el.
Nem aláírt típusú Windows-függvény meghívása
Deklarált utasítással közölheti a Visual Basicgel, hogy melyik kódtár tartalmazza a függvényt, mi a neve az adott tárban, mi a hívássorozata, és hogyan konvertálhatja a sztringeket híváskor.
Az utasításban használja
UInteger
aDeclare
,ULong
,UShort
vagyByte
a megfelelőt az aláíratlan típusú paraméterekhez.A meghívandó Windows-függvény dokumentációjában megtalálhatja a használt állandók nevét és értékeit. Ezek közül sok a WinUser.h fájlban van definiálva.
Deklarálja a szükséges állandókat a kódban. Számos Windows-állandó 32 bites aláíratlan érték, ezért ezeket
As UInteger
deklarálnia kell.Hívja meg a függvényt a szokásos módon. Az alábbi példa meghívja a Windows függvényt
MessageBox
, amely egy aláíratlan egész szám argumentumot vesz igénybe.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
A függvényt
messageThroughWindows
az alábbi kóddal tesztelheti.Public Sub consumeWindowsMessage() Dim w As New windowsMessage w.messageThroughWindows() End Sub
Figyelemfelhívás
A
UInteger
,ULong
,UShort
ésSByte
adattípusok nem részei a Language Independence and Language-Independent Components (CLS)-nek , így a CLS-kompatibilis kód nem tudja felhasználni azokat használó összetevőket.Fontos
Ha nem felügyelt kódra , például a Windows alkalmazásprogramozási felületére (API) hív meg, a kód potenciális biztonsági kockázatoknak teszi ki.
Fontos
A Windows API meghívásához nem felügyelt kódengedély szükséges, ami befolyásolhatja a részleges megbízhatósági helyzetekben történő végrehajtását. További információkért lásd SecurityPermission és kódhozzáférés engedélyeit.