Visual Basic – API i DLL

Windows API – Application Programming Interface je skup od nekoliko stotina predefinisanih funkcija koje su ugrađene u dinamičke biblioteke za povezivanje (dynamic link libraries-DLLs) i koje u stvari grade sam Windows kao operativni sistem. Krajnji korisnici programa ne mogu pristupiti ovim funkcijama, ali zato programeri mogu pristupiti kodu u DLL bibliotekama preko API-ja i mogu da iskoriste ove funkcije u programima koje pišu.

DLL (dynamic link library) je u stvari iskompajlirani kod kome se može pristupiti iz ostalih programa samo na nivou programiranja. Kada ugradite u neku DLL biblioteku određene funkcije i podprograme, ovaj kod može da koristi više programa u isto vreme, i to je jedna od najvećih prednosti. DLL biblioteke se kreiraju u programskim jezicima kao što su C(++) i objektni Pascal (Delphi). Najčešće korišćene biblioteke u API-ju za 32-bitni Windows su: Kernel32.DLL, User32.DLL i GDI32.DLL. Takođe i u Visual Basic-u možete izgraditi ovakve biblioteke, ali one se u ovom slučaju zovu ActiveX DLL.

Vi možete kreirati bilo kakav tip projekta u Visual Basic-u koji će pristupati Windows API i to koristeći deklaraciju „Declare“ u sekciji „General Declarations“ modula. Na primer, možete pristupiti funkciji „GetCursorPos“, koja locira poziciju pokazivača miša na ekranu, i to na sledeći način:


Declare Function GetCursorPos Lib „user32“ _
Alias „GetCursorPos“ (lpPoint As POINTAPI) As Long

Sada ćemo vam objasniti sintaksu same deklaracije:

  • Declare – je ključna reč koja pokazuje na deklaraciju spoljne funkcije
  • Function – deklariše tip procedure
  • GetCursorPos – naziv same spoljne procedure
  • Lib – ključna reč koja pokazuje na biblioteku u kojoj se nalazi funkcija
  • „user32“ – naziv DLL biblioteke (moraju biti navodnici, nema potrebe za ekstenzijom)
  • Alias – je ključna reč koja ukazuje na naziv kojim ćemo pozivati funkciju u našem programu
  • „GetCursorPos“ – sam naziv kojim ćemo pozivati funkciju u našem programu
  • LpPoint – argument varijabla
  • As POINTAPI/As Long – ključna reč koja ukazuje na tip argumenta
  • POINTAPI – tip argumenta
  • Long – tip koji vraća sama funkcija

Kao što vidimo, fukcija GetCursorPos se nalazi u biblioteci User32.DLL. Funkcija ima jedan argument, LpPoint, koji je tipa: POINTAPI. Sama funkcija vraća podatak tipa: Long. Za korišćenje Windows API funkcija u Visual Basic-u nije vam potreban nijedan drugi alata, ali vam je potrebno dosta dodatnog znanja iz ove oblasti. Za pregled samih funkcija u bibliotekama možete iskoristiti program koji dolazi uz instalaciju Visual Basic-a tzv. API Text Viewer.

Pratite Krstaricu na www.krstarica.com