Resultados 1 al 4 de 4

Tema: llamar a aplication externa .EXE

  1. #1
      Acabo de llegar...
    h

    Registrado
    julio de 2017
    Mensajes
    7
    Última visita
    17.11.2022

    Agradecimientos
     
    Recibidos
    0
    Enviados
    0

    Citaciones y menciones
     
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    0

    Predeterminado llamar a aplication externa .EXE

    Como llamar a una aplicacion externa .EXE y corra en un proceso independiente. Ejemplo llamar Notepad, Excel, etc. directamente desde windows netcobol sin usar powercobol. Hay alguna libreria externa o api pueda usar?. Algun ejemplo o guia en manual. He hecho toda clase de busqueda sin exito.

    0 Not allowed!

  2. #2
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    37
    Mensajes
    2,087
    Última visita
    Hoy a las 00:34

    Agradecimientos
     
    Recibidos
    908
    Enviados
    784

    Citaciones y menciones
     
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    12 Post(s)
    Poder de Reputación
    10

    Predeterminado

    @hbetancur, estás trabajando en NetCOBOL o en PowerCOBOL?

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

  3. #3
      Acabo de llegar...
    h

    Registrado
    julio de 2017
    Mensajes
    7
    Última visita
    17.11.2022

    Agradecimientos
     
    Recibidos
    0
    Enviados
    0

    Citaciones y menciones
     
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    0

    Predeterminado

    Estoy usando Netcobol v11. Quiero llamar un .exe sin usar powercobol.

    ---------- Post añadido : 22:27 ---------- Post anterior : 22:25 ----------

    Perdon aclaro un poco mas. Con Netcobol quiero lanzar una aplicacion externa (.EXE) con proceso independiente del programa o aplicacion que la llama. Algo asi como lazar notepad o exc o word independientes.

    0 Not allowed!

  4. #4
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    37
    Mensajes
    2,087
    Última visita
    Hoy a las 00:34

    Agradecimientos
     
    Recibidos
    908
    Enviados
    784

    Citaciones y menciones
     
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    12 Post(s)
    Poder de Reputación
    10

    Predeterminado

    @hbetancur, échale un ojo a este post: [Sintaxis] CALL a programas externos en Windows 8 - COBOL Foro

    ---------- Post añadido : 11:58 ---------- Post anterior : 10:54 ----------

    @hbetancur, NetCOBOL trae ejemplos (samples), de los cuales el SAMPLE32 muestra como hacerlo:

    COBOL Código:
    1. 000010 @OPTIONS ALPHAL(WORD)
    2. 000020*=================================================================
    3. 000030* This sample program demonstrates how to execute other programs
    4. 000040*   and batch files.
    5. 000050*
    6. 000060*
    7. 000070*                Copyright 2000-2010 FUJITSU LIMITED
    8. 000080*=================================================================
    9. 000090 IDENTIFICATION DIVISION.
    10. 000100 PROGRAM-ID.    SAMPLE32.
    11. 000110 DATA           DIVISION.
    12. 000120 WORKING-STORAGE SECTION.
    13. 000130 01 ProcessInfo.
    14. 000140   02 prcinf01   PIC 9(9) COMP-5.
    15. 000150   02 prcinf02   PIC 9(9) COMP-5.
    16. 000160   02 prcinf03   PIC 9(9) COMP-5.
    17. 000170   02 prcinf04   PIC 9(9) COMP-5.
    18. 000180 01 StartupInfo.
    19. 000190   02 stainf01   PIC 9(9) COMP-5.
    20. 000200*
    21. 000210   02 stainf02   PIC 9(9) COMP-5.
    22. 000220   02 stainf03   PIC 9(9) COMP-5.
    23. 000230   02 stainf04   PIC 9(9) COMP-5.
    24. 000240*
    25. 000250   02 stainf05   PIC 9(9) COMP-5.
    26. 000260   02 stainf06   PIC 9(9) COMP-5.
    27. 000270   02 stainf07   PIC 9(9) COMP-5.
    28. 000280   02 stainf08   PIC 9(9) COMP-5.
    29. 000290   02 stainf09   PIC 9(9) COMP-5.
    30. 000300   02 stainf10   PIC 9(9) COMP-5.
    31. 000310   02 stainf11   PIC 9(9) COMP-5.
    32. 000320   02 stainf12   PIC 9(9) COMP-5.
    33. 000330   02 stainf13   PIC 9(4) COMP-5.
    34. 000340   02 stainf14   PIC 9(4) COMP-5.
    35. 000350   02 stainf15   PIC 9(9) COMP-5.
    36. 000360*
    37. 000370   02 stainf16   PIC 9(9) COMP-5.
    38. 000380   02 stainf17   PIC 9(9) COMP-5.
    39. 000390   02 stainf18   PIC 9(9) COMP-5.
    40. 000400 01 appPath      PIC X(256) VALUE SPACE.
    41. 000410 01 pathLeng     PIC S9(9) COMP-5.
    42. 000420 01 cmdline      PIC X(256) VALUE SPACE.
    43. 000430 01 cmdlinLeng   PIC S9(9) COMP-5.
    44. 000440 01 rtncd        PIC 9(9)  COMP-5.
    45. 000450 CONSTANT        SECTION.
    46. 000460 01 ZDEFAULT    PIC X(22) VALUE "..\SAMPLE31\MSGBOX.EXE".
    47. 000470 PROCEDURE      DIVISION.
    48. 000480*=================================================================
    49. 000490*  Get the path name of the program or batch file to execute.
    50. 000500*=================================================================
    51. 000510     DISPLAY " Input the path name that execution program.".
    52. 000520     DISPLAY " (If input no character, then execute the MsgBox.EXE of SAMPLE31)".
    53. 000530     DISPLAY " => " WITH NO ADVANCING.
    54. 000540     ACCEPT  appPath FROM CONSOLE.
    55. 000550     COMPUTE pathLeng = FUNCTION STORED-CHAR-LENGTH(appPath)
    56. 000560*=================================================================
    57. 000570*  If nothing is input,
    58. 000580*  then use the default path name ("..\SAMPLE31\MSGBOX.EXE").
    59. 000590*=================================================================
    60. 000600     IF pathLeng = 0 THEN
    61. 000610       COMPUTE pathLeng = FUNCTION LENGTH (ZDEFAULT)
    62. 000620       MOVE ZDEFAULT TO appPath
    63. 000630       MOVE 0        TO cmdlinLeng
    64. 000640     ELSE
    65. 000650*=================================================================
    66. 000660*  If the path name is input,
    67. 000670*  then get the command line arguments.
    68. 000680*=================================================================
    69. 000690       DISPLAY " Input the command line arguments."
    70. 000700       DISPLAY " => " WITH NO ADVANCING
    71. 000710       ACCEPT  cmdline FROM CONSOLE
    72. 000720       COMPUTE cmdlinLeng = FUNCTION STORED-CHAR-LENGTH(cmdline)
    73. 000730       MOVE LOW-VALUE TO cmdline(cmdlinLeng + 1:1)
    74. 000740     END-IF
    75. 000750     MOVE LOW-VALUE TO appPath(pathLeng + 1:1)
    76. 000760*=================================================================
    77. 000770*  Execute the program using the CreateProcessA function.
    78. 000780*=================================================================
    79. 000790     DISPLAY "Execute the program " appPath(1:pathLeng)
    80. 000800     IF cmdlinLeng =  0 THEN
    81. 000810       *> If do not need command line arguments.
    82. 000820       CALL "CreateProcessA" WITH STDCALL LINKAGE
    83. 000830                             USING BY REFERENCE appPath
    84. 000840                                   BY VALUE 0
    85. 000850                                   BY VALUE 0
    86. 000860                                   BY VALUE 0
    87. 000870                                   BY VALUE 0
    88. 000880                                   BY VALUE 0
    89. 000890                                   BY VALUE 0
    90. 000900                                   BY VALUE 0
    91. 000910                                   BY REFERENCE StartupInfo
    92. 000920                                   BY REFERENCE ProcessInfo
    93. 000930                             RETURNING rtncd
    94. 000940     ELSE
    95. 000950       *> If need command line arguments.
    96. 000960       CALL "CreateProcessA" WITH STDCALL LINKAGE
    97. 000970                             USING BY REFERENCE appPath
    98. 000980                                   BY REFERENCE cmdline
    99. 000990                                   BY VALUE 0
    100. 001000                                   BY VALUE 0
    101. 001010                                   BY VALUE 0
    102. 001020                                   BY VALUE 0
    103. 001030                                   BY VALUE 0
    104. 001040                                   BY VALUE 0
    105. 001050                                   BY REFERENCE StartupInfo
    106. 001060                                   BY REFERENCE ProcessInfo
    107. 001070                             RETURNING rtncd
    108. 001080     END-IF
    109. 001090*
    110. 001100*=================================================================
    111. 001110*  CreateProcessA succeed.
    112. 001120*=================================================================
    113. 001130     IF rtncd = 1 THEN
    114. 001140       DISPLAY "Succeeded in executing program " appPath(1:pathLeng)
    115. 001150       CALL "WaitForSingleObject" WITH STDCALL LINKAGE
    116. 001160                                  USING BY VALUE prcinf01 -1
    117. 001170       CALL "GetExitCodeProcess" WITH STDCALL LINKAGE
    118. 001180                    USING BY VALUE prcinf01
    119. 001190                          BY REFERENCE rtncd
    120. 001200*=================================================================
    121. 001210*  Free all resources.
    122. 001220*=================================================================
    123. 001230       CALL "CloseHandle" WITH STDCALL LINKAGE
    124. 001240                          USING BY VALUE prcinf01
    125. 001250       CALL "CloseHandle" WITH STDCALL LINKAGE
    126. 001260                          USING BY VALUE prcinf02
    127. 001270       DISPLAY "Return code from " appPath(1:pathLeng) " is '" RTNCD "'."
    128. 001280*
    129. 001290*=================================================================
    130. 001300*  CreateProcessA failed.
    131. 001310*=================================================================
    132. 001320     ELSE
    133. 001330       CALL "GetLastError" WITH STDCALL LINKAGE
    134. 001340                           RETURNING rtncd
    135. 001350       DISPLAY "Failed in execution " appPath(1:pathLeng)
    136. 001360       DISPLAY "Return code is '" RTNCD "'."
    137. 001370     END-IF.
    138. 001380     STOP RUN.

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

Información de Tema

Usuarios Viendo este Tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Temas Similares

  1. [Sintaxis] Saber si un EXE se esta ejecutando ??
    Por Hrmcobol en el foro PowerCOBOL y WinAPI
    Respuestas: 1
    Último Mensaje: 24.11.2020, 14:11
  2. [Sintaxis] Llamar DLL de Fujitsu Cobol desde Windev
    Por Joseg en el foro WinDev
    Respuestas: 0
    Último Mensaje: 12.10.2016, 11:19
  3. [Compilador] Compilar un Ejecutable (.exe)
    Por Yonaider en el foro RM/COBOL
    Respuestas: 5
    Último Mensaje: 26.05.2016, 10:19
  4. [Sintaxis] Llamar programa externo desde Powercobol
    Por Ciro en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 2
    Último Mensaje: 06.09.2015, 22:08
  5. [Sintaxis] Llamar a un Subform
    Por Josber en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 4
    Último Mensaje: 19.02.2015, 09:00

Marcadores

Marcadores

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •