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

Code


Windows
API


?


Full form : API --- Application Programming
Interface


??????????????????
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,
NETAPI32.DLL, WINMM.DLL etc.


?


Using the 'Declare'
statement


Calling Windows API routines requires a statement called
'Declare'.


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
Long






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


Beeper=MessageBeep(1)


End Sub



About this post

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

Categories

Visual Basic 6

Attachments

No attachments for this post


Loading Comments ...

Comments

No comments have been added for this post.

You must be logged in to make a comment.