Kbase P9245: How to turn the machine off as soon as the user exits the Progress 4GL Application?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  30/01/2003 |
|
Status: Unverified
GOAL:
How to turn the machine off as soon as the user exits the Progress 4GL Application?
FACT(s) (Environment):
Windows 32 Intel
Windows NT 32 Intel/Windows 2000
FIX:
DEFINE VARIABLE viReturnCode AS INTEGER NO-UNDO.
DEFINE BUTTON BtnDone DEFAULT
LABEL "&Done"
SIZE 15 BY 1.14
BGCOLOR 8 .
DEFINE FRAME DEFAULT-FRAME
BtnDone AT ROW 5 COL 14
WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
SIDE-LABELS NO-UNDERLINE THREE-D
AT COL 1 ROW 1
SIZE 40 BY 10
DEFAULT-BUTTON BtnDone.
ON CHOOSE OF BtnDone IN FRAME DEFAULT-FRAME /* Done */
DO:
APPLY "CLOSE":U TO THIS-PROCEDURE.
RUN WinExec(/* 'rundll32.exe shell32.dll,SHExitWindowsEx 1':U */
'rundll.exe user.exe,exitwindows':U,
1,
OUTPUT viReturnCode).
END.
ASSIGN DEFAULT-WINDOW:HEIGHT = 10
DEFAULT-WINDOW:WIDTH = 40
DEFAULT-WINDOW:TITLE = "Shutdown".
ENABLE ALL WITH FRAME DEFAULT-FRAME.
WAIT-FOR CLOSE OF DEFAULT-WINDOW.
PROCEDURE WinExec EXTERNAL "KERNEL32.DLL":U:
DEFINE INPUT PARAMETER pcProgramName AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER plVisualStyle AS LONG NO-UNDO.
DEFINE RETURN PARAMETER plStatusCode AS LONG NO-UNDO.
END PROCEDURE.