Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Ejecutar aplicacion? (https://www.clubdelphi.com/foros/showthread.php?t=64195)

c0lo 21-03-2009 05:54:39

Ejecutar aplicacion?
 
Bueno tengo problemas al ejecutar un loader... no tengo idea de q pase o imagino que si.. e usado dos metodos..

Código:

ShellExecute(Form1.Handle, 'open', PChar(rutaArchivo),nil,nil,SW_SHOWNORMAL);

WinExec(PChar('rutaArchivo'),SW_SHOWNORMAL);

haber si explico un poco mi problema...

Tengo un loader que carga un archivo data.exe

Ambos lo tengo dentro de mi aplicacion es decir como un recurso... ahora cuando cargo mi aplicacion los guardo en los temporales... luyego de ahi lo mando a ejecutar al loader pero no me ejecuta es decir no me deja crear el proceso "CreateProcess" que usa el loader.. no se que estoy haciendo mal ya que si ejecuto directamente yo mismo desde los temporales me ejecuta pero cuando lo hago mediante delphi usando ShelExecute o WinExec no me ejecuta o no me quiere crear el proceso...

Ayudas?

ContraVeneno 21-03-2009 16:50:28

En esta página hay una función llamada "RunAProgram" que tal vez puedas utilizar o tal vez te de una idea de que te puede faltar.

c0lo 22-03-2009 04:23:41

Sip, es la mejor opcion solo que hay que tener en cuenta siempre el directorio donde nos encontramos para poder lanzar una aplicacion dependiendo de cual o como este codeada, es decir, si hago como yo un loader, lo mejor es situarnos en el directorio mismo y lanzarala no de otro.. para que se peude crear correctamente..

Gracias :D

escafandra 23-03-2009 08:00:36

Código Delphi [-]
ShellExecute(0, 0, PChar(Ejecutable), PChar(Parametros), SW_SHOWNORMAL);
Saludos.

c0lo 24-03-2009 02:25:57

Código:

HINSTANCE ShellExecute(     
    HWND hwnd,
    LPCTSTR lpOperation,
    LPCTSTR lpFile,
    LPCTSTR lpParameters,
    LPCTSTR lpDirectory,
    INT nShowCmd
);

No hay que olvidarse de
Código:

LPCTSTR lpDirectory,

escafandra 24-03-2009 07:58:53

Cita:

Empezado por c0lo (Mensaje 342465)
No hay que olvidarse de
Código:

LPCTSTR lpDirectory,

Cierto, un pequeño lapsus. :p

Código:

ShellExecute(0, 0, PChar(Ejecutable), PChar(Parametros), 0, SW_SHOWNORMAL);
La idea es no usar 'open'. En circunstancias similares a lo que pretendes yo lo usé así y el proceso lanzado funcionó perfectamente.;)

Saludos.


La franja horaria es GMT +2. Ahora son las 18:59:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi