Using Win32 functions in Visual FoxPro Image Gallery
Code examples:
GDI+: saving image of FoxPro form to graphics file (BMP, GIF, JPG, PNG, TIF)
How to display picture stored in enhanced-format metafile (*.emf)
How to retrieve configuration data for a specified printer stored in the registry (PrinterDriverData key)
How to set Creation Date/Time for a folder (WinNT)
Retrieveing general information about the driver and data source associated with an ODBC connection
Retrieving Printer Device Context using PrintDlg function
Running a regular FoxPro form while main VFP window is minimized
The window and its ancestors
Using mailslots to send messages on the network
Accessing Adobe Reader 7.0 main menu from VFP application
Comparing file times
Copying strings through the global memory block
Enumerating ports that are available for printing on a specified server
Enumerating servers of the specified type (e.g. SQL Server) in the primary domain
GDI+: Drawing a Pie Chart
How to make the caption of a VFP application flashing in the Windows task bar
Locking and unlocking file of a VFP table
Obtaining some properties for the Windows desktop using the GetWindowPlacement function
Retrieving file information for the VFP executable running
Testing Clipboard functions: emptying the clipboard
Using the DeleteFile
Deleting files into the Recycle Bin
How to delete a service object
How to delete IE cookies, clear IE history and delete files in Temporary Internet Files directory
Basic Volume information

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:

See also:
  • Displaying the drive type value
  • Setting the volume label
  • Disk in drive A:
  • Obtaining physical parameters for a drive: sectors, clusters, cylinders...
    #DEFINE CRLF CHR(13)+CHR(10)
        DO declare
        DO GetVolumeInfo WITH "C:\"
    * end of main
    PROCEDURE GetVolumeInfo(cRoot As String)
        LOCAL cVolNameBuffer, nVolSerialNo, nMaxCompLen, nFlags, nError
            cVolNameBuffer, nFilesysNameBuffer
        STORE 0 TO nVolSerialNo, nMaxCompLen, nFlags
        nResult = GetVolumeInformation(cRoot, @cVolNameBuffer,;
            MAX_PATH, @nVolSerialNo, @nMaxCompLen, @nFlags,;
            @nFilesysNameBuffer, MAX_PATH)
        IF nResult = 0
        * 21=ERROR_NOT_READY
            nError = GetLastError()
            = MESSAGEBOX("GetVolumeInformation() call failed: " +;
                TRANSFORM(m.nError), 48, m.cRoot)
        DO LogInfo WITH "Root", m.cRoot
        DO LogInfo WITH "File System Name",;
            LEFT(nFilesysNameBuffer, AT(CHR(0),nFilesysNameBuffer)-1)
        DO LogInfo WITH "Volume Name",;
            LEFT(cVolNameBuffer, AT(CHR(0),cVolNameBuffer)-1)
        DO LogInfo WITH "Volume Serial No.",;
            TRANSFORM(nVolSerialNo, "@0")
        DO LogInfo WITH "Max Filename Length", nMaxCompLen
        DO LogInfo WITH "File System Flags", TRANSFORM(nFlags, "@0")
        DO LogInfo WITH "Case-sensitive file names support",;
            IIF(BITAND(nFlags, FILE_CASE_SENSITIVE_SEARCH)=0, "No", "Yes")
        DO LogInfo WITH "The file system preserves the case of file names",;
            IIF(BITAND(nFlags, FILE_CASE_PRESERVED_NAMES)=0, "No", "Yes")
        DO LogInfo WITH "Unicode in file names support",;
            IIF(BITAND(nFlags, FILE_UNICODE_ON_DISK)=0, "No", "Yes")
        DO LogInfo WITH "ACLs support",;
            IIF(BITAND(nFlags, FILE_PERSISTENT_ACLS)=0, "No", "Yes")
        DO LogInfo WITH "File-based compression support",;
            IIF(BITAND(nFlags, FILE_FILE_COMPRESSION)=0, "No", "Yes")
        DO LogInfo WITH "The specified volume is a compressed volume",;
            IIF(BITAND(nFlags, FILE_VOLUME_IS_COMPRESSED)=0, "No", "Yes")
        IF USED("csResult")
            SELECT csResult
            GO TOP
    PROCEDURE LogInfo(cName, vValue)
        IF NOT USED("csResult")
            CREATE CURSOR csResult (property_name C(50), property_value C(50))
        INSERT INTO csResult (property_name, property_value);
        VALUES (m.cName, TRANSFORM(m.vValue))
    PROCEDURE declare
        DECLARE INTEGER GetLastError IN kernel32
        DECLARE SHORT GetVolumeInformation IN kernel32;
            STRING lpRootPathName, STRING @lpVolumeNameBuffer,;
            LONG nVolumeNameSize, LONG @lpVolumeSerialNumber,;
            LONG @lpMaximumComponentLength, LONG @lpFlags,;
            STRING @lpFileSystemNameBuffer, LONG nFilesysNameSize

    User rating: 0/10 (0 votes)
    Rate this code sample:
    • ~
    2754 bytes  
    Created: 2001-08-10 12:00:00  
    Modified: 2009-02-16 14:55:10  
    Visits in 7 days: 89  
    Listed functions:
    Printer friendly API declarations
    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-2017 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.35), 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 group: 'URL Monikers'
    3 sec.Function: 'EnumPorts'
    4 sec.Function: 'OpenPrinter'
    6 sec.Example: 'Displaying system dialog that selects a folder'
    7 sec.Example: 'How to delete a service object'
    9 sec.Function: 'UpdateResource'
    10 sec.Function: 'ReadProcessMemory'
    11 sec.Function: 'DeleteFileTransacted'
    Function group: 'File Management'
    12 sec.Example: 'Retrieving graphic capabilities of your display'
    14 sec.Function: 'WSACloseEvent'
    Function group: 'Windows Sockets 2 (Winsock)'
    Advertise here!