Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-11-2006
Jose Manuel Jose Manuel is offline
Miembro
 
Registrado: may 2003
Posts: 112
Poder: 21
Jose Manuel Va por buen camino
Averiguar si está instalado WINZIP en un PC

Hola quisiera saber como puedo averiguar si en el PC que corre un programa hecho en Delphi6, tiene instalado el WINZIP.

La aplicación tiene que llamar al WINZIP, mediante la siguiente instrucción:
Código:
ShellExecute(Handle, 'Open', 'WinZip32.exe', PCHAR(params), 
PCHAR(dir_exe), SW_NORMAL);
y quisiera saber de que forma puedo averiguar antes si está instalado.

Un saludo.
Jose Manuel
Responder Con Cita
  #2  
Antiguo 06-11-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues la misma llamada te dirá si está o no instalado. Consulta la documentación de ShellExecute, si te devuelve un código menor o igual que 32 quiere decir que ocurrió algún error y actúas en consecuencia.

// Saludos
Responder Con Cita
  #3  
Antiguo 06-11-2006
Jose Manuel Jose Manuel is offline
Miembro
 
Registrado: may 2003
Posts: 112
Poder: 21
Jose Manuel Va por buen camino
Gracias por la ayuda, ahora necesito saber como puedo averiguar el Path del Winzip32.exe, pues quiero ejecutar esta instrucción:

Código Delphi [-]
   IF ShellExecute(Handle, 'Open', PCHAR(cFileName),
            PCHAR(params), PCHAR(dir_exe), SW_NORMAL)  <= 32 then
             Application.MessageBox('Error: no se ha podido actualizar el fichero',
             'Error', MB_ICONEXCLAMATION);
en la cual cFileName debe tener el PATH donde está instalado el winzip32.exe, por ejemplo: cFileName := 'C:\Archivos de programa\WinZip\WINZIP32.EXE';

Un saludo para todos.

Jose Manuel.
Responder Con Cita
  #4  
Antiguo 07-11-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

José Manuel, si lo que quieres es trabajar con archivos comprimidos desde Delphi: comprimir archivos, descomprimirlos, acceder a su contenido, etc., debes saber que cuentas con componentes que harán innecesario que WinZip esté o no instalado en el sistema. Unos muy buenos, gratuitos y de código abierto son los Turbo Power Abbrevia.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 07-11-2006
Jose Manuel Jose Manuel is offline
Miembro
 
Registrado: may 2003
Posts: 112
Poder: 21
Jose Manuel Va por buen camino
Hola, quiero saber el PATH del Winzip, porqué estoy utilizando la siguiente instrucción para actualizar el ejecutable. Ya tengo instalado en mi aplicación un componente zip, pero para actualizar el ejecutable, es necesario hacerlo con una aplicación externa, pues primero se cierra el ejecutable y se activa la instrucción, hay un hilo en este foro "actualización aplicaciones" donde explico como lo hago.

La instrucción funciona correctamente, siempre que el WINZIP esté instalado en 'C:\Archivos de programa\WinZip\WINZIP32.EXE' pero mejor sería asegurarse donde está realmente instalado.

He visto en Internet un script, que hace esto, no sé si sabré adaptarlo a Delphi6.


Código:
**
*    Script:   findZip.js 
*    Purpose:  Finds the path of WinZip if present on yoursystem. 
*    Author:   Daren Thiel (converted to js from newsgroup post). 
*    Date:     16 May 1999
*    Web:      http://www.winscripter.com 
*    Note:     Rename this script findZip.js 
*    Copyright 1999 Daren Thiel **/
// Create a shell objectvar 
ws = new ActiveXObject( "WScript.Shell" );
// Store the registry key we are looking for in a variable.
// You can also plug this value directly into regRead()
var key = "HKCR\\WinZip\\shell\\open\\command\\";
// Find the value stored for this key.
// If you get an error here you probably don't have
 WinZip.var zip = ws.regRead( key );
// The key is store with a '%1' at the end.  We should
// strip this off to get the path to winzip.var 
zip = zip.substring( 0, zip.indexOf( " " ) );
// Tell them what you found.
WScript.Echo( zip );
Un saludo.
Jose Manuel.

Última edición por Jose Manuel fecha: 07-11-2006 a las 14:02:58.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
En que pc esta instalado Mysql? pborges36 Conexión con bases de datos 4 30-06-2006 22:43:59
saber si esta php instalado coulthard Internet 4 20-04-2006 20:56:43
Averiguar si la combinación de dos campos está en uso DarkByte Conexión con bases de datos 18 28-09-2004 17:59:04
FireBird: Winsock 2 no esta instalado JulioGO Firebird e Interbase 1 02-09-2004 20:09:00
como comprobar que está instalado el BDE? lemon-club Conexión con bases de datos 1 14-06-2003 19:49:20


La franja horaria es GMT +2. Ahora son las 01:25:21.


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
Copyright 1996-2007 Club Delphi