Using Win32 functions in Visual FoxPro Image Gallery
Window Procedure
Code examples:
Adding user-defined items to the Control Menu of VFP form (requires VFP9)
Capturing keyboard activity of another application with the Raw Input API (VFP9)
Customizing the frame of top-level form: removing the standard frame (VFP9, Vista)
Detecting changes in connections to removable drives (VFP9)
Displaying hypertext links with the SysLink control (VFP9, Comctl32.dll)
Displaying icons in the system tray (VFP9)
Dragging files from Explorer window and dropping them on FoxPro control (requires VFP9)
How to block the PrintScreen key
How to disable the Windows Clipboard (VFP9)
How to hot-track menu item selection in top-level form (requires VFP9)
Monitoring clipboard content changes (VFP9)
Switching between keyboard layouts
Transparent Menu Class (requires VFP9)
Using FoxTray ActiveX control: System Tray Icon and menu attached to VFP form
Using Month Calendar Control (VFP9, Comctl32.dll)
Using WM_COPYDATA for interprocess communication (VFP9)
Detecting changes in connections to removable drives (VFP9)

User rating: 0/10 (0 votes)
Rate this code sample:
  • ~
More code examples    Listed functions    Add comment     W32 Constants      Translate this page Printer friendly version of this code sample
click to open
Before you begin:
VFP application can receive system notifications when a disk drive gets connected or disconnected (USB, network drive).

In this code sample, a ListView control on VFP form displays available disk drives using matching icons and descriptions.

Note that this code sample requires VFP9 version of the BINDEVENT() function. The one that can handle Windows messages.

See also:
  • Disconnecting USB Mass Storage Device programmatically
  • Mapping and disconnecting network drives
  • Enumerating Volumes and Volume Mounting Points
      Members area. Log in to view this example.
      User name:
      Forgot your password?
      Sign up for
    the Membership

    User rating: 0/10 (0 votes)
    Rate this code sample:
    • ~
    10044 bytes  
    Created: 2011-01-07 17:18:05  
    Modified: 2011-05-06 09:05:14  
    Visits in 7 days: 252  
    Listed functions:
    Printer friendly API declarations
    My comment:
    The WM_DEVICECHANGE message notifies an application of a change to the hardware configuration of the computer.

    Upon locking and ejection of removable storage devices (not limited to), the system broadcasts the WM_DEVICECHANGE message to notify applications and device drivers about changes in the configuration.

    Examples of events that trigger the broadcasting of WM_DEVICECHANGE message:

  • USB flash drive inserted or ejected
  • external hard drive connected to USB port, or ejected
  • network drive mapped or disconnected
  • CD inserted in CD drive, or ejected

    The main Visual FoxPro window ( _vfp.HWnd ) and any top-level form ( ShowWindow=2, ThisForm.HWnd ) normally receive WM_DEVICECHANGE messages.

    VFP application can also deny or grant system requests for device removal (yet to be covered in this or another code sample).

    * * *
    .NET version of this code sample:

    * * *
    An installation CD/DVD disk may contain Autorun.inf file. Here is an example of the content.
    label=Linksys Router Setup

    It makes sense, and Windows Explorer apparently behaves this way, depicting a device using whenever available the AutoRun.Label string, and the icon retrieved from the file the AutoRun.Open points at.

    Use GetPrivateProfileString function for retrieving values from .ini and .inf files.

    * * *
    MIcrosoft Support, Article 163503. How to receive notification of CD-ROM insertion or removal
  • Word Index links for this example:
    Translate this page:
      Spanish    Portuguese    German    French    Italian offers instant, free translations of text or web pages.
    User Contributed Notes:
    There are no notes on this subject.

    Copyright 2001-2018 News2News, Inc. Before reproducing or distributing any data from this site please ask for an approval from its owner. Unless otherwise specified, this page is for your personal and non-commercial use. The information on this page is presented AS IS, meaning that you may use it at your own risk. Microsoft Visual FoxPro and Windows are trade marks of Microsoft Corp. All other trademarks are the property of their respective owners. 

    Privacy policy
    Credits: PHP (4.4.9), an HTML-embedded scripting language, MySQL (5.6.38), the Open Source standard SQL database, AceHTML Freeware Version 4, freeware HTML Editor of choice.   Hosted by Korax Online Inc.
    Last Topics Visited (
    2 sec.Function: 'GetSystemMetrics'
    Function group: 'System Information'
    3 sec.
    Function group: 'Common Dialog Box'
    5 sec.Function: 'mixerGetID'
    Function group: 'Windows Multimedia'
    6 sec.Links
    8 sec.Function: 'mciGetDeviceID'
    Function group: 'Windows Multimedia'
    10 sec.Login
    12 sec.All Functions
    15 sec.
    Function group: 'Windows Controls'
    17 sec.Function: 'waveOutPrepareHeader'
    Function group: 'Windows Multimedia'
    22 sec.
    Advertise here!