Page 1 of 1

ShellexecuteEx() paràmetros

Posted: Tue Nov 05, 2024 7:09 pm
by FiveWiDi
Hola a todos,

Tengo entendido que ShellExecuteEx() permite dar nombre a la ventana ( CMD ) que se ejecute, así como esperar a que el proceso que se ha lanzado acabe y de un resultado.

Tenemos la sintáxis de ShellExecuteEx() en Harbour? Existe en Harbour()

Muchas gracias,

Re: ShellexecuteEx() paràmetros

Posted: Wed Nov 06, 2024 12:18 am
by sysctrl2
Esto responde Claude.AI :shock:

Code: Select all | Expand

#include "hbwin.ch"
#include "windows.ch"

FUNCTION EjecutarArchivo(cArchivo, cOperacion, cParametros, nShow)
   LOCAL oShell
   LOCAL lSuccess := .F.
   
   // Valores por defecto
   DEFAULT cOperacion  := "open"
   DEFAULT cParametros := ""
   DEFAULT nShow       := SW_SHOWNORMAL
   
   // Crear objeto Shell
   oShell := win_ShellExecuteEx()
   
   // Configurar parámetros
   oShell:lpFile       := cArchivo
   oShell:lpOperation  := cOperacion
   oShell:lpParameters := cParametros
   oShell:nShow        := nShow
   
   // Ejecutar
   lSuccess := oShell:Execute()
   
   IF !lSuccess
      ? "Error al ejecutar:", oShell:GetLastError()
   ENDIF
   
   RETURN lSuccess

// Ejemplos de uso:
PROCEDURE Main()
   // Abrir un documento PDF
   EjecutarArchivo("documento.pdf")
   
   // Abrir una URL en el navegador predeterminado
   EjecutarArchivo("https://harbour.github.io", "open")
   
   // Ejecutar un programa con parámetros
   EjecutarArchivo("notepad.exe", "open", "archivo.txt", SW_MAXIMIZE)
   
   // Imprimir un documento
   EjecutarArchivo("documento.doc", "print")
RETURN
 

Re: ShellexecuteEx() paràmetros

Posted: Wed Nov 06, 2024 5:05 pm
by FiveWiDi
Al final optaré por ShellExecute()

Lo poco que he leído, con ShellExecute() tendré suficiente y en las pruebas que he hecho me vale.

Muchas gracias César.

Re: ShellexecuteEx() paràmetros

Posted: Wed Nov 06, 2024 6:00 pm
by karinha