Mi api

Mi az API?

API - rövid az Application Programming Interface. Általában minden program, operációs rendszer, stb Megvan a saját API-t. A Windows - API áll számos funkció, amely lehetővé teszi, hogy a Windows-rendszer kialakítása. Minden Windows-API függvények C ++ nyelven íródott, de a programok képesek lesznek könnyen használni őket Visual Basic'a. API-függvény szükségképpen nyilvánítja! Nyilatkozat API-függvény szintaxisa:

[Public | Saját] állapítsa Funkció neve Lib "LIBNAME" [Alias ​​"aliasname"] [([arglist])] [Az type]

Megjegyzés: Ha az API funkció vár, hogy egy változó, akkor biztos, hogy állapítsa meg, és töltse ki az üres helyeket. Ie változó lehet a felhasználó által megadott. Ez a nyelv jellemzői C ++, amit írt a Windows API-t.

Vegyünk egy pár példa:

Tegyük fel, hogy az alkalmazás meg kell határoznia azt a könyvtárat, amelyben az operációs rendszer Windows 95/98 / NT. Hogy ez a legegyszerűbb módja annak, hogy az API használatával funkciójú GetWindowsDirectory.

1. A modul állapítsa meg a API-funkció GetWindowsDirectory:

Állapítsa Funkció GetWindowsDirectory Lib "kernel32" Alias ​​_
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal _
nMéret As Long) As Long

2. A modul, hogy egy változót, például windows_mappa, amelyet be kell állítani, hogy a könyvtár nevét.

Nyilvános windows_mappa As String

3. A Main alprogram megadva:

„Változók, amelyek át kell tenni az API, van
„Bejelentette, és most a hézagot.
„A rések körül kell lennie annyira,
„Körülbelül hány karakter legyen változtatható.
„Ebben az esetben elég a 20, mint a A Windows általában telepítve
„From: \ Windows vagy C: \ Win95, stb Ie az összeg a karakterek helyett
„Csak ne haladja meg a 20
WinDir = teret (20)
Debug.Print Bal (WinDir, GetWindowsDirectory (WinDir, 20))
„Mivel API egy funkciót, akkor vissza kell néhány
„Value. Ebben az esetben a függvény visszatér GetWindowsDirectory
„A hossza a kívánt értéket. Ie Például, ha a kívánt értéket
„C: \ WINDOWS, akkor a függvény értéke 10.
„Változó azonos hosszúságú van 20. Ez a 10 karakter van írva
„Először is, aztán megy 10 tereket. Miért, kérdezem,
„Extra 10 karakter? Végtére is, hogy használják szükségtelen memóriát.
„Ezért az utasítás a baloldal, akkor vegye ki a változó windows_mappa
„Pontosan úgy, ahogy az első karakter, mennyire van szüksége.

Egy második példa:
Például a programnak meg kell határoznia, amely a média, CD-ROM-on vagy távoli, stb A „natív” Vizuális Basic'a ​​eszközök nem teszik ezt - akkor kénytelenek használni az API-funkció GetDriveType.

1. A modul állapítsa meg a API-funkció GetDriveType:

Állapítsa Funkció GetDriveType Lib "kernel32" Alias ​​_
"GetDriveTypeA" (ByVal nA Drive As String) As Long
„Az a paraméter nA Drive podrzumevaetsya, levél a latin
„Alphabet plusz dvoetechie, azaz potenciális betűjelet, pl C:

2. A Main alprogram megadva:

„A ciklus itt. Következő „csúszik” funkció GetDriveType minden betű
„Latin ábécé sorrendben. Chr függvény a értékeket
„ASCII tábla (0-255) a levélben. Tehát 65 a betű, a 90 Z
Dim myDrive As Integer
A myDrive = 65 To 90
Debug.Print Chr (myDrive) ":" "-" GetDriveType (Chr (myDrive) "")
következő

Ez az, amit a függvény visszatér GetDriveType számunkra, például van:
A: - 2
C: - 3
D: - 3
E: - 5
Minden más betű jelöli az 1. számú Igen, hogy megértsük ezeket a jeleket kell tudni a következő táblázat tartalmazza:

Konstans Név: Jelentés:

DRIVE_UNKNOWN 0
DRIVE_NO_ROOT_DIR 1
DRIVE_REMOVEABLE 2
DRIVE_FIXED 3
DRIVE_REMOTE 4
DRIVE_CDROM 5
DRIVE_RAMDISK