Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

invocar otros programas desde builder

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: invocar otros programas desde builder Responder citando

Hi
No me he enfrentado nunca con tu problema, tuve algo parecido en el que tenia que comunicarme con Word, pero eso esta bastante documentado, ¿has provado con los accesos ole?, yo no los domino muy bien pero creo que si que podrias pasarle parametros, de todas formas para ejecutar otros programas externos yo utilizo ShellExecute, espero que te sirva de algo
Volver arriba
Mensaje    Asunto: invocar otros programas desde builder Responder citando

Necesito hacer un programita (o funcion)que me abra un fichero de Autocad que se le pasaria como parametro (es decir que abra el autocad esté donde esté instalado con ese fichero en cuestion)

Preguntas:
1- ¿Existe alguna funcion para buscar si un programa esta instalado en algun disco duro?
De tener que programarla yo....
¿Qué funciones o librerias`podria utilizar?

2- En caso de tener que abrir un fichero .PDF... ¿como invoco el acrobat reader? ¿como compruebo si esta instalado? Solo pido alguna referencia a funcion o libreria que me ayude a acceder al los arboles de directorios o algo para empezar..
gracias por adelantado..

Volver arriba
Mensaje    Asunto: invocar otros programas desde builder Responder citando

Esta funcion hace exactamente lo que buscas:

bool VisorInstalado(char *Extension)
// Funcion que devuelve un valor booleano segun este instalado un programa asociado a la extension.
{
TRegistry *Registro = new TRegistry;

try{
Registro->RootKey = HKEY_CLASSES_ROOT;
if(Registro->KeyExists(Extension)){
// Si hay un visor para el programa.
return(true);
}else{
// No hay un visor para el programa.
return(false);
}
}catch(...){
// No sabemos nada.
return(false);
}
}
}


Para trabajar con un fichero, cuya extencion esta reconocida puedes usar esta otra funcion:

void AbrirArchivo(char *Archivo)
// Abre el archivo con el programa asociado en Windows.
{
ShellExecute(NULL, NULL , Archivo, NULL, NULL, SW_SHOWNORMAL);
}


Su forma de uso, es sencilla:
if(VisorInstalado(".pdf")){
AbrirArchivo("ejemplo.pdf");
}

Espero que te sea util.
Saludos.

Volver arriba
Mensaje    Asunto: invocar otros programas desde builder Responder citando

Primero, muchas gracias por responderme.
Siento ser tan zoquete pero sigo teniendo algunas pregunticas:

¿Qué libreria he de incluir para que funcione esa funcion ShellExecute?
(parece ser mi salvación..)

otra cosa...
¿Existe alguna funcion para mandar un archivo entero al portapapeles de windows? (por ejemplo para hacer cortar-pegar de mi programa con el Autocad..)
¿en qué librería?
gracias a todos..

Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
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


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.