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