Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-08-2006
ErenioDhG ErenioDhG is offline
Miembro
 
Registrado: jul 2006
Ubicación: Republica Dominicana
Posts: 17
Poder: 0
ErenioDhG Va por buen camino
Conseguir Datos de la aplicacion.

De todas las funciones que he encontrado en internet solo me dan el FileDescription y FileVersion necesito una funcion que me permita visualizar los otros:
CompanyName
InternalName
LegalCopyright
LegalTrademarks
OriginalFilename
ProductName
ProductVersion
Comments
Espero que puedas ayudarme o darme una idea de como hacerlo.
De todas las funciones que he conseguido solo puedo adquirir el FileDescription y fileVersion.
Responder Con Cita
  #2  
Antiguo 29-08-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Prueba con este procedimiento:

Código Delphi [-]

type
  TAppVerInfo = record
    Comments: string;
    CompanyName: string;
    FileDescription: string;
    FileVersion: string;
    LegalCopyright: string;
    LegalTrademarks: string;
    ProductName: string;
    ProductVersion: string;
  end;

procedure GetAppVersionInfo(var AppVerInfo: TAppVerInfo);
const
  VARFILEINFO = '\\VarFileInfo\Translation';

var
  Size: Cardinal;
  Handle: Cardinal;
  BufferLen: Cardinal;
  Tbl: Cardinal;
  Data: Pointer;
  Buffer: Pointer;
  StrTbl: string;
  LangCharSetIDArray: array [1..2] of Word;

  function GetValueInfo(AValue: string): string;
  var
    StringFileInfo: string;

  begin
    StringFileInfo := Format('\\StringFileInfo\%s\%s', [StrTbl, AValue]);
    VerQueryValue(Data, PChar(StringFileInfo), Buffer, BufferLen);
    Result := PChar(Buffer)
  end;

begin
  Size := GetFileVersionInfoSize(PChar(Application.ExeName), Handle);
  GetMem(Data, Size + 1);
  try
    if GetFileVersionInfo(PChar(Application.ExeName), Handle, Size, Data) then
      if VerQueryValue(Data, VARFILEINFO, Buffer, BufferLen) then
      begin
        LangCharSetIDArray[1] := LoWord(PLongint(Buffer)^);
        LangCharSetIDArray[2] := HiWord(PLongint(Buffer)^);
        Tbl := (LangCharSetIDArray[1] shl 16) or LangCharSetIDArray[2];
        StrTbl := Format('%x', [Tbl]);
        if Length(StrTbl) < 8 then
          StrTbl := '0' + StrTbl;
        with AppVerInfo do
        begin
          Comments := GetValueInfo('Comments');
          CompanyName := GetValueInfo('CompanyName');
          FileDescription := GetValueInfo('FileDescription');
          FileVersion := GetValueInfo('FileVersion');
          LegalCopyright := GetValueInfo('LegalCopyright');
          LegalTrademarks := GetValueInfo('LegalTrademarks');
          ProductName := GetValueInfo('ProductName');
          ProductVersion := GetValueInfo('ProductVersion')
        end
      end
  finally
    FreeMem(Data, Size + 1)
  end
end;

Si necesitas el dato InternalName, solo agregalo al tipo registro y agrega la línea en el procedimiento.


Saludos...
Responder Con Cita
Respuesta



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
Aplicacion con base de datos luxus Conexión con bases de datos 1 04-06-2006 05:43:43
Enviar Datos a una Aplicacion Esau API de Windows 2 02-06-2006 16:01:26
Aplicación con paradox me pierde los datos jomanaar Tablas planas 5 04-05-2005 12:05:27
conocer datos aplicacion externa Igna API de Windows 2 24-06-2004 09:12:53
importar datos de excel a mi aplicacion squenda Varios 2 11-12-2003 03:33:32


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


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