 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Ryu Cdt

Registrado: 21 Ene 2004Mensajes: 5
|
Publicado: Mie 21 Ene, 2004 2:54 am Asunto: ejecutar un *exe de otro programa |
|
|
hola soy un principiante en la programacion mediante c++ builder 6, he hecho varios programitas c++ builder6 cursando un ciclo superior de telecomunicaciones e informatica y le he cogido el gusto a esto de la programacion y le hecho horas y horas y no me canso.
Bueno me gustaria saber como puedo abrir un programa de mi ordenador con el programa que estoy haciendo mediante un boton.
Gracias. _________________ Antonio |
|
| Volver arriba |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
Publicado: Mie 21 Ene, 2004 4:54 am Asunto: |
|
|
Hola:
| Código: |
#include <shellapi.h>//Aunque en BCB6 no es necesario incluirla
String sRuta = "c:\\Mis Softwares\\InfoSist\\InfoSist.exe";
ShellExecute(NULL,"open",sRuta.c_str(),NULL,NULL,SW_SHOWDEFAULT);
|
En el ultimo parametro tienes muchas variantes, puedes encontrar mas informacion en la ayuda en linea de Builder, incluso buscando aqui en el foro AQUI la palabra "ShellExecute" ó "WinExec" sin comillas...
Espero te sirva, y de nuevo, te recomiendo hacer una busqueda en el foro ya que muchas de esas dudas han sido respondidas un monton de veces.
Saludos! _________________ "Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez
Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!! |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mie 21 Ene, 2004 9:21 am Asunto: |
|
|
tambien puede hacerlo de la siguiente manera.... con el siguiente codigo...
| Código: |
int WinExecAndWait32(AnsiString FileName, int Visibility)
{
char zAppName[512];
char zCurDir[255];
AnsiString WorkDir;
TStartupInfo StartupInfo;
TProcessInformation ProcessInfo;
strcpy(zAppName, FileName.c_str());
WorkDir = GetCurrentDir();
strcpy(zCurDir, WorkDir.c_str());
setmem(&StartupInfo, sizeof(StartupInfo), 0);
StartupInfo.cb = sizeof(StartupInfo);
StartupInfo.dwFlags = STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow = Visibility;
if (!CreateProcess(NULL, zAppName, // pointer to command line string
NULL, // pointer to process security attributes
NULL, // pointer to thread security attributes
false, // handle inheritance flag
CREATE_NEW_CONSOLE | // creation flags
NORMAL_PRIORITY_CLASS,
NULL, // pointer to new environment block
NULL, // pointer to current directory name
&StartupInfo, // pointer to STARTUPINFO
&ProcessInfo))
{
return -1; // pointer to PROCESS_INF
}
else
{
WaitForSingleObject(ProcessInfo.hProcess,INFINITE);
DWORD ExitCode;
GetExitCodeProcess(ProcessInfo.hProcess, &ExitCode);
return ExitCode;
}
}
|
y para ejecutarlo el la siguiente linea, esto realiza la ejecucion de un programa y espera hasta que termine, para continuar con la siguiente linea..
| Código: |
WinExecAndWait32("regsvr32 BdeInst.dll", SW_SHOWDEFAULT );
|
en esta operacion se instala el BDE, y hasta que no termine la instalacion del BDE, el programa no continua..
saludos... _________________
 |
|
| Volver arriba |
|
 |
Ryu Cdt

Registrado: 21 Ene 2004Mensajes: 5
|
Publicado: Jue 22 Ene, 2004 1:17 am Asunto: |
|
|
Gracias Viktor me ha valido; Pero me gustaria saber si en la direccion:
//String sRuta = "G:\\Documents and Settings\\Antonio\\Escritorio\\DATOSVIA.exe";(en mi caso) la podria cambiar por ejemplo por un OpenDialog que seleccionace el programa deseado y me lo habriera, estoy en ello y no consigo dar con la tecla, ¿me podrias ayudar? gracias _________________ Antonio |
|
| Volver arriba |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
Publicado: Jue 22 Ene, 2004 1:31 am Asunto: |
|
|
Claro:
| Código: | if(OpenDialog1->Execute())
{
ShellExecute(NULL,"open",OpenDialog1->FileName.c_str(),NULL,NULL,SW_SHOWDEFAULT);
} |
Esa seria la forma que buscas...
Suerte!
Saludos  _________________ "Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez
Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!! |
|
| Volver arriba |
|
 |
Ryu Cdt

Registrado: 21 Ene 2004Mensajes: 5
|
Publicado: Jue 22 Ene, 2004 9:13 pm Asunto: |
|
|
Gracias Viktor funciona perfectamente. _________________ Antonio |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|