Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 11-06-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
TiammatMX,

Cita:
Empezado por TiammatMX
...Tengo un EXE compilado en Delphi XE2, y deseo extraer la versión del mismo, de preferencia sin utilizar componentes o productos de tercero...


Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function GetFileVersion(const FileName: String) : String;
var
   InfoSize, Handle : LongWord;
   Buffer : Array of Byte;
   FileInfo : PVSFixedFileInfo;

begin
   try
      InfoSize := GetFileVersionInfoSize(PChar(FileName), Handle);
      SetLength(Buffer, InfoSize);
      GetFileVersionInfo(PChar(FileName), Handle, InfoSize, Buffer);
      VerQueryValue(Buffer, '\', Pointer(FileInfo), InfoSize);

      Result := Format('%d.%d.%d.%d', [LongRec(FileInfo.dwFileVersionMS).Hi,
                                       LongRec(FileInfo.dwFileVersionMS).Lo,
                                       LongRec(FileInfo.dwFileVersionLS).Hi,
                                       LongRec(FileInfo.dwFileVersionLS).Lo]);
   except
      Result := '0.0.0.0';
   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
   FileName : String;
   MsgUsr, MsgApp : String;

begin

   FileName := 'C:\Program Files\Borland\Delphi7\Bin\delphi32.exe';
   MsgApp := 'GetFileVersion';
   MsgUsr := Format('%s v%s',[ExtractFileName(FileName),GetFileVersion(FileName)]);
   MessageBox(Handle, PChar(MsgUsr), PChar(MsgApp), MB_OK + MB_ICONINFORMATION);

end;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, Permite obtener la versión de un archivo ejecutable (Major version, Minor version, Release, Build), como se muestra en la siguiente imagen:



Espero sea útil

Nelson.
Responder Con Cita
 



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
Saber la versión de un ejecutable MAXIUM API de Windows 2 23-08-2014 04:04:59
Como saber version de windows (32 o 64 bits) ?? jandok238 Varios 2 19-01-2009 17:17:22
funcion para saber la version de windows mismail API de Windows 1 11-02-2007 12:58:41
Como obtener de la información de versión del ejecutable Alcolea Varios 1 23-11-2006 23:50:32
como puedo hacer para cambiar un archivo de excel con versión 2.1 a versión 8.0 RONPABLO Servers 4 23-01-2006 06:02:38


La franja horaria es GMT +2. Ahora son las 12:18:13.


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