Search Tools Links Login

Windows API and DLLs --- Part-I

An introduction to Windows API and DLLs!!! Part II on PSC!!! Part III coming soon

Original Author: Deepanjan Datta




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,
    windows etc.

  • 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,


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


End Sub

About this post

Posted: 2003-06-01
By: ArchiveBot
Viewed: 103 times


Visual Basic 6


No attachments for this post

Loading Comments ...


No comments have been added for this post.

You must be logged in to make a comment.