ID: Q109607
2.50 2.50a 2.50b 3.00 WINDOWS kbinterop
The information in this article applies to:
Occasionally it may be necessary to change the AUTOEXEC.BAT or CONFIG.SYS file in order to help a FoxPro-generated .EXE file run better under Windows. By using the Windows API function ExitWindows(), you can give the user a choice of rebooting the system now or later.
See below for more details and a code sample.
By using FOXTOOLS.FLL and the Windows API function ExitWindows(), you can reboot the entire system. The following code illustrates this concept.
NOTE: While it is possible to reboot the system from within a FoxPro for Windows program by making use of the Windows API function ExitWindows(), FoxPro may not do a complete cleanup and may leave *.TMP files in your SET TEMP= subdirectory.
*** Begin Code ***
* WARNING: Make sure all work is saved before running code
SET LIBRARY TO SYS(2004)+"FOXTOOLS.FLL" ADDITIVE
bootup=REGFN("ExitWindows","II","I")
title="Program Message"
msg="Changes have been made to your CONFIG.SYS. " + ;
"Choose 'Yes' to reboot your system so changes can " + ;
"take effect. Choose 'No' to continue without rebooting."
choice=MSGBOX(msg,title,20)
IF choice=6 && button 'Yes' was chosen
=CALLFN(bootup,67,0)
ELSE
WAIT WINDOW "You have chosen to continue" TIMEOUT 2
ENDIF
*** End Code ***
The ExitWindows() function requires two numeric values to be passed to it
and returns a single integer. The significance of the first integer (67) is
that it is the decimal equivalent of 0x43 hexadecimal or EW_REBOOTSYSTEM,
which is a low-order word in the C++ language. The second integer is
reserved and is always zero. When the ExitWindows() function is called, it
sends a message to all active applications that a request has been made to
terminate Windows. If all applications "agree" to be terminated, the
WM_ENDSESSION message will be sent to all applications before Windows is
terminated.
Visual C++ Help file
Microsoft Windows Software Development Kit, "Programmer's Reference, Volume 2: Functions," page 290
FOXTOOLS.WRI located in the C:\FOXPROW\GOODIES\FOXTOOLS subdirectory
Additional reference words: VFoxWin 3.00 FoxWin 2.50 2.50a 2.50b quit restart SDK API FOXTOOLS.FLL KBCategory: kbinterop KBSubcategory: FxprgFoxtools
Keywords : kbcode FxprgFoxtools
Version : 2.50 2.50a 2.50b 3.00
Platform : WINDOWS
Last Reviewed: May 22, 1998