Using Win32 functions in Visual FoxPro Image Gallery
Code examples:
Storing registration key in the resources of an executable file
Winsock: reading and setting socket options
Adding user-defined items to the Control Menu of VFP form (requires VFP9)
Creating a unique filename based on existing filename
Enumerating data formats currently available on the clipboard
Reading list of folders and files on FTP server
Scanning the hierarchy of child windows down from the main VFP window
How to assemble an array of strings and pass it to external function
How to block the PrintScreen key
How to remove a directory that is not empty
Obtaining list of tables stored in an ODBC Data Source
Retrieving national language settings
Retrieving the interface–to–IP address mapping table
Winsock: retrieving Web pages using sockets (HTTP, port 80)
Building a tree of subdirectories for a given path using FindFile functions
Displaying standard progress dialog box when copying files
How to build UDP responder
How to generate GUID values
How to play MIDI notes
Pocket PC: custom RAPI class for operating with the Object Store Databases
Printing text on the main VFP window
Retrieving local computer and user names
Winsock: retrieving the standard host name and IP address for the local machine
Accessing Adobe Reader 7.0 main menu from VFP application
Using Shell for performing operations on files

User rating: 10/10 (1 votes)
Rate this code sample:
  • ~
More code examples    Listed functions    Add comment     W32 Constants      Translate this page Printer friendly version of this code sample
Versions:
click to open
Before you begin:
Select valid file and directory names before testing this code.

Other code samples you might be interested in:
  • Running external applications from VFP using WinExec
  • Running external applications from VFP using CreateProcess
  • Running an external program from FoxPro and waiting for its termination
  • How to Start a Process as Another User (NT/XP/2K)

  •  
    #DEFINE SW_SHOWNORMAL 1
    #DEFINE SW_SHOWMINIMIZED 2
    #DEFINE SW_SHOWMAXIMIZED 3 
     
        DECLARE INTEGER GetSystemDirectory IN kernel32;
            STRING @lpBuffer, INTEGER nSize
     
        DECLARE INTEGER ShellExecute IN shell32;
            INTEGER hWindow, STRING lpOperation,;
            STRING lpFile, STRING lpParameters,;
            STRING lpDirectory, INTEGER nShowCmd
     
        * opens data files with their associated applications
    *    = ShellExecute(0, "open", "c:\aa\index.mdb", "", "", SW_SHOWMAXIMIZED)
    *    = ShellExecute(0, "open", "c:\aa\aa.bmp", "", "", SW_SHOWMAXIMIZED)
    *    = ShellExecute(0, "open", "c:\aa\lacrymosa.mp3", "", "", SW_SHOWMAXIMIZED)
    *    = ShellExecute(0, "open", "c:\aa\mkart.doc", "", "", SW_SHOWMAXIMIZED)
    *    = ShellExecute(0, "open", "c:\aa\aa.txt", "", "", SW_SHOWMAXIMIZED)
     
        * opens a folder
    *    = ShellExecute(0, "explore", "c:\Temp", "", "", SW_SHOWMAXIMIZED)
     
        * open Search window starting from the specified directory
    *    = ShellExecute(0, "find", "", "", getSysDir(), SW_SHOWMAXIMIZED)
     
        * prints the text file using the associated application
    *    = ShellExecute(0, "print", "c:\aa\index.txt", "", "", SW_SHOWMAXIMIZED)
     
        * accessing a site on the Internet
    *    = ShellExecute(0, "open", "http://www.microsoft.com/",;
    *        "", "", SW_SHOWMAXIMIZED)
     
        * sending an email: 
        * Mike Lewis, http://www.ml-consult.demon.co.uk/foxst-22.htm
     
        LOCAL lcMail
        lcMail = "mailto:buddy1@somwhere.com" +;
            "?CC=buddy2@somwhere.com&Subject=Meet for lunch" +;
            "&Body=Please join me for a sandwich at noon."
     
        = ShellExecute(0, "open", lcMail, "", "", SW_SHOWNORMAL)
     
    FUNCTION GetSysDir
        lpBuffer = SPACE(250) 
        nSizeRet = GetSystemDirectory(@lpBuffer, Len(lpBuffer)) 
    RETURN SUBSTR(lpBuffer, 1, nSizeRet) 
     
     
     

    User rating: 10/10 (1 votes)
    Rate this code sample:
    • ~
    1708 bytes  
    Created: 2001-08-06 12:00:00  
    Modified: 2008-10-03 15:25:57  
    Visits in 7 days: 45  
    Listed functions:
    GetSystemDirectory
    ShellExecute
    Printer friendly API declarations
    My comment:
    There is one more action type -- EDIT.

    For some actions failed, GetLastError returns() value 1155, that means ERROR_NO_ASSOCIATION | No application is associated with the specified file for this operation..

    Links:
    HOWTO: Use ShellExecute to Launch Associated File (32-bit) (Q170918).

    Tip 168: Using the ShellExecute Function to Print Files.

    An easy way sending emails from a Visual FoxPro application -- an article of Mike Lewis.

    VBNet: Sending Large Emails via ShellExecute.

    #kwd: sln_sendemail.
    Word Index links for this example:
    Translate this page:
      Spanish    Portuguese    German    French    Italian  
    FreeTranslation.com offers instant, free translations of text or web pages.
    User Contributed Notes:
    A.M. | 2007-01-24 09:06:50
    Include "printto" verb:
    lretval=ShellExecute(0, "Printto", (lfilename), ["]+SET('PRINTER',3)+["], 0,1)

    http://www.universalthread.com/wconnect/wc.dll?2,15,1188377

    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.36), the Open Source standard SQL database, AceHTML Freeware Version 4, freeware HTML Editor of choice.   Hosted by Korax Online Inc.
    Last Topics Visited (54.158.253.14)
    9 sec.Example: 'GDI+: Scrolling through large image using the mouse'
    18 sec.Example: 'How to block the ALT+TAB shortcut (WinXP)'
    28 sec.Function: 'inet_ntoa'
    38 sec.Function: 'GetPhysicalMonitorsFromHMONITOR'
    48 sec.Function: 'NetServerGetInfo'
    Function group: 'Network Management'
    57 sec.Function: 'RemoveDirectoryTransacted'
    Function group: 'File Management'
    1.13 min.Function: 'SCardEstablishContext'
    1.32 min.
    Function group: 'Process and Thread'
    1.52 min.
    Function group: 'Raw Input'
    1.68 min.Example: 'Enumerating network interfaces on the local computer'
    Google
    Advertise here!