Using Win32 functions in Visual FoxPro Image Gallery
Code examples:
How to create a service object
How to start the screen saver and how to find whether the screen saver is active
List of ODBC drivers installed (read from the [ODBC Drivers] section)
Pocket PC: System Registry Viewer
Retrieving System Error message strings
Setting the Window Region for a form
Listing device drivers in the system: load addresses, names
Retrieving default spooling directory name
GDI+: loading image file, drawing on it, saving the result to another file
Pocket PC: modifying keys in the System Registry
Using LoadLibrary
Using the FindMediaType function
Accessing the list of Windows Recent Documents
Obtaining the System and Windows folder names
Pocket PC: creating backup for the System Registry
Programmatically removing submenus from VFP main menu
Retrieving national language settings
Current System information
How to drag a Form not using its Titlebar or Caption
Pocket PC: creating new database in the Object Store and copying Contacts Database records into it
Using Custom FTP class (DEFINE CLASS ftp As Custom)
Using Video Capture: enumerating installed capture drivers
Converting characters to upper or lower case
Converting path to original case
Reading keys in the specified section of the Win.ini file

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
Before you begin:
Determine that Simple MAPI is available by checking the [MAIL] section in the computer"s WIN.INI file for the MAPI entry. This entry will have a value of 1 if Simple MAPI is installed, or 0 if uninstalled:

*lcSection = "Windows"  && section name
lcSection = "Mail"  && section name

lcKeys = getKeysString (lcSection)

CREATE CURSOR csWinIni (keyname C(30), keyvalue C(200))

lcKey = ""
FOR ii=1 TO Len(lcKeys)
    ch = SUBSTR (lcKeys, ii,1)
    IF ch = Chr(0)
        lcValue = GetKeyValue(lcSection, lcKey)
        INSERT INTO csWinIni VALUES (lcKey, lcValue)
        lcKey = ""
        lcKey = lcKey + ch


FUNCTION  getKeysString (lcSection)
* returns all key names found in this section
* delimited with zero character

    * Notice that lpKeyName declared as INTEGER 
    * to emulate an empty key name

    DECLARE INTEGER GetProfileString IN kernel32;
        STRING   lpAppName,;
        INTEGER  lpKeyName,;
        STRING   lpDefault,;
        STRING @ lpReturnedString,;
        INTEGER  nSize

    nSize = 1024
    lpReturnedString = Repli (Chr(0), nSize)

    lnResult = GetProfileString (lcSection, 0, "#empty#",;
        @lpReturnedString, nSize)
RETURN  Left(lpReturnedString, lnResult)

FUNCTION  GetKeyValue (lcSection, lcKey)

    * Notice that lpKeyName declared as STRING
    * because here we have a string value
    * supplied to this procedure

    DECLARE INTEGER GetProfileString IN kernel32;
        STRING   lpAppName,;
        STRING   lpKeyName,;
        STRING   lpDefault,;
        STRING @ lpReturnedString,;
        INTEGER  nSize

    nSize = 4096
    lpReturnedString = Repli (Chr(0), nSize)

    lnResult = GetProfileString (lcSection, lcKey, "#empty#",;
        @lpReturnedString, nSize)
RETURN  Left(lpReturnedString, lnResult)

User rating: 0/10 (0 votes)
Rate this code sample:
  • ~
1546 bytes  
Created: 2001-09-04 12:00:00  
Modified: 2002-12-30 17:38:51  
Visits in 7 days: 40  
Listed functions:
Printer friendly API declarations
My comment:
A section in the Win.ini file must have the following form:

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-2014 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.1.68), the Open Source standard SQL database, AceHTML Freeware Version 4, freeware HTML Editor of choice.   Hosted by Korax Online Inc.
Last Topics Visited (
8 sec.Example: 'Testing serial ports'
17 sec.Example: 'Retrieving the name of the network resource associated with a local device'
21 sec.Function: 'CeCopyFile'
Function group: 'Remote Application Programming (RAPI)'
30 sec.Example: 'Using an Event Object. Part B: running an application responding to events'
35 sec.Function: 'GetMonitorContrast'
43 sec.Article: 'Passing parameters to Win32 functions '
50 sec.Function: 'ReadFile'
Function group: 'File Management'
1.1 min.Function: 'CeCreateFile'
1.28 min.
Function group: 'Keyboard Input'
1.48 min.Function: 'waveOutUnprepareHeader'
Function group: 'Windows Multimedia'
Advertise here!