Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-03-2005
Avatar de Pablo Carlos
Pablo Carlos Pablo Carlos is offline
Miembro
 
Registrado: Jun 2004
Ubicación: Mendoza - Argentina
Posts: 270
Poder: 15
Pablo Carlos Va por buen camino
Ejecutar archivos CAB desde Delphi

Hola gente... para ejecutar otra aplicación desde delphi podemos usar los siguiente:
Código Delphi [-]
WinExec(PChar('C:\LocalizaciónExe\exe'), SW_SHOWNORMAL);
Hasta aqui todo bien... ahora para un archivo de windows tipo CAB (esas cajitas...) no funciona el WinExec...
1.- alguien sabe porqué y cómo ejecutarlos desde mi prg. (Este archivo estaría alojado en la lectora de cd junto al setup del prg)
2.- ¿Se puede alojar en mi setup esos archivos cab y al instalar el prg se instale los cab?
Muchas gracias... saludos
__________________
Por qué todas las personas saben exactamente cómo debemos vivir nuestra vida, y nunca tienen idea de cómo deben vivir sus propias vidas.
Responder Con Cita
  #2  
Antiguo 09-03-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: Jul 2004
Ubicación: Barcelona - España
Posts: 15.694
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
Cita:
Empezado por Pablo Carlos
Hasta aqui todo bien... ahora para un archivo de windows tipo CAB (esas cajitas...) no funciona el WinExec...
1.- alguien sabe porqué y cómo ejecutarlos desde mi prg. (Este archivo
estaría alojado en la lectora de cd junto al setup del prg)

2.- ¿Se puede alojar en mi setup esos archivos cab y al instalar el prg se instale los cab?
Los archivos CAB no son ejecutables, por lo tanto no se "deberían" ejecutar o instalar como comentas. Los CAB son archivos comprimidos, por lo tanto debes tener una utilidad de descompresión asociado a descomprimirlos, pero no funcionará directamente.

Si buscas por interner existen muchos componentes que permiten descomprimir ficheros CAB; Por ejemplo:

http://www.ziptv.com/
o éste
http://sourceforge.net/projects/tpabbrevia/
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 10-03-2005
Avatar de Pablo Carlos
Pablo Carlos Pablo Carlos is offline
Miembro
 
Registrado: Jun 2004
Ubicación: Mendoza - Argentina
Posts: 270
Poder: 15
Pablo Carlos Va por buen camino
Gracias por responder...
Cita:
Empezado por Neftali
Los archivos CAB no son ejecutables
Totalmente de acuerdo
Cita:
Empezado por Neftali
por lo tanto no se "deberían" ejecutar o instalar como comentas
Pero haciendole doble click en el archivo se ejecutan como un exe
Cita:
Empezado por Neftali
Los CAB son archivos comprimidos, por lo tanto debes tener una utilidad de descompresión asociado a descomprimirlos.
y... eso... como asocia Windows al hacerle doble click?
Abria que investigar por alli... me meto en ese tema... si lo encuentro lo hare saber...
Saludos Pablo
__________________
Por qué todas las personas saben exactamente cómo debemos vivir nuestra vida, y nunca tienen idea de cómo deben vivir sus propias vidas.
Responder Con Cita
  #4  
Antiguo 11-03-2005
Avatar de argami
argami argami is offline
Miembro
 
Registrado: Jun 2003
Ubicación: Barcelona
Posts: 57
Poder: 16
argami Va por buen camino
el tema de las asociaciones es como un fichero txt que de por si no hace nada pero si tu haces dblclick te abre el notepad.

si lo que quieres es abrir un fichero segun su asociacion usa la funcion ShellExecute de la api en Delphi 7 creo recordar que esta en ShellApi.

Ejemplo:
ShellExecute(Handle, 'open', 'C:\Pathfichero.cab', nil, nil, SW_SHOWNORMAL);

espero que esto te ayude.

PD: si quieres revisar con que esta asociado tu programa en opciones de carpeta (en cualquier ventana del windows en herramientas) tienes una pestaña que se llama tipos de archivo puedes buscar el cab dentro de la lsta.
__________________
Gami

------------------------------------------------------------------
La necesidad no tolera tardanzas pero mas vale tarde que nunca

Última edición por argami fecha: 11-03-2005 a las 14:20:23.
Responder Con Cita
  #5  
Antiguo 13-03-2005
Avatar de Pablo Carlos
Pablo Carlos Pablo Carlos is offline
Miembro
 
Registrado: Jun 2004
Ubicación: Mendoza - Argentina
Posts: 270
Poder: 15
Pablo Carlos Va por buen camino
Prometido y cumplo...
De esta manera ejecuto e instalo los .CAB

Código Delphi [-]
procedure TfrmPath.InstalarAgente;
  procedure RunAndWaitShell(Ejecutable,
                            Argumentos:string
                            ;Visibilidad:integer);
  var
     Info:TShellExecuteInfo;
     pInfo:PShellExecuteInfo;
     exitCodeWord;
begin
     pInfo:=@Info;
     with Info do
     begin
      cbSize:=SizeOf(Info);
      fMask:=SEE_MASK_NOCLOSEPROCESS;
      wnd:=Handle;
      lpVerb:=nil;
      lpFile:=PChar(Ejecutable);
      lpParameters:=Pchar(Argumentos+#0);
      lpDirectory:=nil;
      nShow:=Visibilidad;
      hInstApp:=0;
     end;
     ShellExecuteEx(pInfo);
     repeat
      exitCode := WaitForSingleObject(Info.hProcess,500);
      Application.ProcessMessages;
     until (exitCode <> WAIT_TIMEOUT);
  end;
begin
  RunAndWaitShell('c:\Genie','', Sw_ShowNormal);
  RunAndWaitShell('c:\MSagent','', Sw_ShowNormal);
end;

Gracias a todos los que respondieron
Saludos bye
__________________
Por qué todas las personas saben exactamente cómo debemos vivir nuestra vida, y nunca tienen idea de cómo deben vivir sus propias vidas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:39:08.


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