Full form : API --- Application Programming
DLL --- Dynamic Link Library
The Windows API is a collection of routines available to you,
the Visual Basic programmer. In a way, these API routines are like internal
functions of Visual Basic.
So many Windows API routines exist that just about
anything you can do from Windows, you can do from a Visual Basic application by
calling the appropriate Windows API routine.
All Windows API routines are stored in files called DLLs.
Several thousand API routines are available for use.
Note : Most DLL files have '.DLL' extension.
Any program you write has access to the Windows DLLs.
Following are the three most common DLLs :
USER32.DLL --- Contains functions that control the
Windows environment and the user's interface, such as cursors, menus,
GDI32.DLL --- Contains functions that control output
to the screen and other devices.
KERNEL32.DLL --- Contains functions that control the
internal Windows hardware and software interface.
There are other DLLs such as COMDLG.DLL, MAPI32.DLL,
NETAPI32.DLL, WINMM.DLL etc.
Using the 'Declare'
Calling Windows API routines requires a statement called
The 'Declare' statement performs the following tasks :
Specifies where the API function is located
Identifies arguments needed by the API function by number
and data type
Specifies whether or not the API function returns a value
The following format describes the subroutine procedure version
of the 'Declare' statement :
|Declare Sub procName Lib
"libName" [Alias "alias"] [([ByVal] var1 [As dataType]
[, [ByVal] var2 [As dataType]] ... [, [ByVal] varN [As dataType])]
Here are two examples :
|Declare Function GetWindowsDirectory Lib
"kernel32" Alias "GetWindowsDirectoryA"_
(ByVal lpBuffer As String, ByVal nSize As Long) As
|Declare Sub GetSystemInfo Lib
"kernel32" (lpSystemInfo As SystemInfo)
Here is an example for calling a simple API routine:
This example sounds the speaker
|Private Declare Function MessageBeep Lib "user32"
(ByVal wType As Long) As Long
Private Sub cmdBeep_Click() 'You need to have a command button named
cmdBeep for this example to work
Dim Beeper As Variant