|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
Windows API Programming for Visual Basic 6.0 Users
The use of Windows APIs is generally not necessary in Visual Basic 2005, and the techniques for calling them differ somewhat from those used in Visual Basic 6.0.
In Visual Basic 6.0, it was often necessary to call Windows APIs in order to provide advanced functionality that Visual Basic itself did not provide.
Visual Basic 2005 incorporates the .NET Framework; in most cases, Windows API calls are no longer necessary because much of the functionality of the Windows API is wrapped up in the .NET Framework.
Declaring Windows API's
In Visual Basic 6.0, the Declare statement is used to call the Windows API in order to access functionality not provided by Visual Basic.
In Visual Basic 2005, you can still use the Declare statement to call an API, but there are some differences to be aware of. For example, some of the data types in Visual Basic 2005 have no direct equivalent; they must be marshaled in order to be passed to an API call. For more information, see.
When a Visual Basic 6.0 application is upgraded to Visual Basic 2005, calls to Windows APIs are upgraded in place—they are not replaced with their.NET Framework equivalents. When data-type issues are encountered, upgrade warnings are added to your code and to the upgrade report. In most cases you will want to replace these API calls with their .NET Framework equivalents.