How to hide the FoxPro Run Command window in Visual FoxPro (141551)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0
  • Microsoft Visual FoxPro for Windows 3.0b
  • Microsoft Visual FoxPro for Windows 6.0
  • Microsoft Visual FoxPro for Windows 7.0
  • Microsoft Visual FoxPro 8.0

This article was previously published under Q141551

SUMMARY

By using the WinExec Windows API function, you can execute an MS-DOS command or program without the user seeing the FoxPro Run Command window or another MS-DOS session.

MORE INFORMATION

The following program creates a sample function that executes an MS-DOS command or program and keeps the MS-DOS window hidden. The program takes one parameter, the command to be executed.

To maintain control over the MS-DOS window, the program sends the command through a PIF file. To keep this window hidden, use the Windows PIF Editor to make the following changes to the PIF file you use (this example uses Foxrun.pif in the Visual FoxPro directory):
  1. Click to select the Close Window on Exit check box.
  2. Set Display Usage to Windowed.

Code sample

*---------------- Run.prg -----------------------------
* Sample program to Execute an MS-DOS command and keep
* the MS-DOS window hidden.
*
*To use this function in FoxPro to create a new directory,
* use the following command:
*
*    DO run WITH "MD C:\VFP\TESTDIR"
*

FUNCTION run
PARAMETER doscmd

DECLARE INTEGER WinExec IN win32api AS run ;
   STRING command, INTEGER param

* To have control over the visibility of the
* MS-DOS command, call it through a .pif file.
*
* IMPORTANT: (1) Be sure the "Close Window on Exit" check box in
* the PIF file is selected. (2) Be sure "Windowed" is the
* selected "Display Usage."

cmdstart = SYS(2004) + "FOXRUN.PIF /C "

* Now concatenate the two pieces of the command:

fullcmd = cmdstart + doscmd

retval = run(fullcmd, 0)

RETURN retval
*------- End of program ----------------------
				

Modification Type:MajorLast Reviewed:2/15/2005
Keywords:kbcode kbhowto kbsample KB141551 kbAudDeveloper