The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

API Call Sample 

Download sample

This sample demonstrates calling Win32 API functions to enumerate and control processes and windows, and to query and change system settings.

Security noteSecurity Note

This sample code is provided to illustrate a concept and should not be used in applications or Web sites, as it may not illustrate the safest coding practices. Microsoft assumes no liability for incidental or consequential damages should the sample code be used for purposes other than as intended.

To open the sample file in Solution Explorer

  1. Click Download Sample.

    The File Download message box appears.

  2. Click Open, and on the left column of the zip folder window, click Extract all files.

    The Extraction Wizard opens.

  3. Click Next. You can change the directory that the files will be extracted to, and then click Next again.

  4. Make sure that the Show extracted files check box is selected, and click Finish.

  5. Double-click the sample's .sln file.

    The sample solution is displayed in Solution Explorer. You might get a security warning that says the solution location is not trusted. Click OK to continue.

To run this sample

  • Press F5.


The class Win32API is defined in a separate file, Win32API.vb. Each API declaration, using the Declare Statement, is available as a Shared member of the Win32API class. Shared members can be called directly using the class name. It is not necessary to create an instance of the class to use them.

The main form contains a tab control with four tab pages. Each tab page demonstrates an action using Win32 API calls:

  • Active Processes   Fills a list view with all running Windows processes. The emphasis is on how to use a Win32 callback function, EnumWindows, by using a delegate.

  • Active Windows   Fills a ListBox control with all active windows, by filtering the results of the callback function, EnumWindows, using the Win32 API. In this example EnumWindows is defined using the DllImportAttribute class instead of the Declare Statement to contrast the difference between using the two methods.

  • Show Window   Allows the user to type a window caption and/or class name and bring the window to the foreground. This example emphasizes overloading multiple types of parameters to one Win32 API function to allow passing different types of variables to the function.

  • API Calls   Shows how to use the following Win32 API calls: GetDiskFreeSpace, GetDiskFreeSpaceEx, GetDriveType, CreateDirectory, SwapMouseButton, IsPwrHibernateAllowed, SetSuspendState, and Beep. These are examples of calls that return information that is not obtainable from the managed-class equivalents.

See Also

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2015 Microsoft