Ver la Versión Completa : [Compilador] Fujitsu Cobol for Windows Call EXE
Joseg
27 de octubre de 2016, 13:45
Alguém sabe como chamar um EXE (qualquer executável), num programa em Cobol.
O mesmo que se faz no Power: pow-self "execute" commandline
Grcias
Rapinto
29 de octubre de 2016, 23:18
Joseg,
Utilizei este código nos WebServices das Guias de transporte
Na Working Storage
01 ProcessInfo.
02 prcinf01 PIC 9(9) COMP-5.
02 prcinf02 PIC 9(9) COMP-5.
02 prcinf03 PIC 9(9) COMP-5.
02 prcinf04 PIC 9(9) COMP-5.
01 StartupInfo.
02 stainf01 PIC 9(9) COMP-5.
*
02 stainf02 PIC 9(9) COMP-5.
02 stainf03 PIC 9(9) COMP-5.
02 stainf04 PIC 9(9) COMP-5.
*
02 stainf05 PIC 9(9) COMP-5.
02 stainf06 PIC 9(9) COMP-5.
02 stainf07 PIC 9(9) COMP-5.
02 stainf08 PIC 9(9) COMP-5.
02 stainf09 PIC 9(9) COMP-5.
02 stainf10 PIC 9(9) COMP-5.
02 stainf11 PIC 9(9) COMP-5.
02 stainf12 PIC 9(9) COMP-5 VALUE 1.
02 stainf13 PIC 9(4) COMP-5 VALUE 0.
02 stainf14 PIC 9(4) COMP-5.
02 stainf15 PIC 9(9) COMP-5.
*
02 stainf16 PIC 9(9) COMP-5.
02 stainf17 PIC 9(9) COMP-5.
02 stainf18 PIC 9(9) COMP-5.
01 appPath PIC X(256) VALUE SPACE.
01 pathLeng PIC S9(9) COMP-5.
01 cmdline PIC X(256) VALUE SPACE.
01 cmdlinLeng PIC S9(9) COMP-5.
E na Procedure:
CALL "CreateProcessA" WITH STDCALL LINKAGE
USING BY REFERENCE appPath
BY VALUE 0
BY VALUE 0
BY VALUE 0
BY VALUE 0
BY VALUE 0
BY VALUE 0
BY VALUE 0
BY REFERENCE StartupInfo
BY REFERENCE ProcessInfo
RETURNING WSRESULT.
*
IF WSRESULT = 1 THEN
CALL "WaitForSingleObject" WITH STDCALL LINKAGE USING BY VALUE prcinf01 -1
CALL "GetExitCodeProcess" WITH STDCALL LINKAGE USING BY VALUE prcinf01 BY REFERENCE WSRESULT
CALL "CloseHandle" WITH STDCALL LINKAGE USING BY VALUE prcinf01
CALL "CloseHandle" WITH STDCALL LINKAGE USING BY VALUE prcinf02
ELSE
CALL "GetLastError" WITH STDCALL LINKAGE RETURNING WSRESULT
DISPLAY "Failed in execution " appPath(1:pathLeng)
DISPLAY "Return code is '" WSRESULT "'."
GO TO MAIN-99-EXIT
END-IF.
Vê se ajuda ou não.
Abraço,
Rui Pinto
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.