Fileversion von dll,exe usw. mit Delphiprog. rauskriegen?

Diskutiere Fileversion von dll,exe usw. mit Delphiprog. rauskriegen? im Developer Network Forum im Bereich Hardware & Software Forum; Hallo, kann mir vielleicht einer ein kurzes Beispiel geben, wie ich ein Delphi-Programm schreiben kann, das die Version und sonstige Dateiinfos...
  • Fileversion von dll,exe usw. mit Delphiprog. rauskriegen? Beitrag #1
Z

Zeus

Bekanntes Mitglied
Dabei seit
07.04.1999
Beiträge
334
Reaktionspunkte
0
Hallo,
kann mir vielleicht einer ein kurzes Beispiel geben, wie ich ein Delphi-Programm schreiben kann, das die Version und sonstige Dateiinfos aus DLLs und EXEs ausliest. Ich glaube man muss die GetFileVersionInfo oder so ähnlich benutzen, aber da komm ich irgendwie nicht klar mit.
 
  • Fileversion von dll,exe usw. mit Delphiprog. rauskriegen? Beitrag #2
H

Hi-Di-Ho

Bekanntes Mitglied
Dabei seit
14.08.1999
Beiträge
50
Reaktionspunkte
0
hi,

das folgende Beispiel demonstriert den Einsatz, wobei in der Win32-Hilfe für die API-Funktion VerQueryValue auch die restlichen Einträge genannt werden:

Code:
unit OS_AboutVersionDlg;  
interface  
uses  
  Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Buttons, ExtCtrls;  
type  
  TOsAboutBox = class(TForm)  
    Panel1: TPanel;  
    ProgramIcon: TImage;  
    ProductName: TLabel;  
    Version: TLabel;  
    Copyright: TLabel;  
    BitBtn1: TBitBtn;  
  private  
    { Private declarations }  
    FileName : array[0..255] of Char;  
  protected  
    function GetAppVersion: String;  
  public  
    { Public declarations }  
    constructor Create(Owner: TComponent); override;  
  end;  
var  
  OsAboutBox: TOsAboutBox;  

implementation  

{$R *.DFM}  

constructor TOsAboutBox.Create(Owner: TComponent);  
resourcestring  
  cNoVersInfo = '(Keine Versioninfo)';  
begin  
  inherited Create(Owner);  
  // Anwendungsname aus Application übernehmen  
  ProductName.Caption := Application.Title;  
  // Anwendungsicon aus Application übernehmen  
  ProgramIcon.Picture.Icon:= Application.Icon;  
  try  
    // Name der Programmdatei auslesen  
    GetModuleFileName(0, FileName, SizeOf(FileName));  
    // Versionsnummer auslesen  
    Version.Caption := GetAppVersion;  
  except  
    Version.Caption := cNoVersInfo;  
  end;  
end;  

function TOsAboutBox.GetAppVersion: string;  
var  
  ptrBlock, verInfo : Pointer;  
  verInfoSize       : Integer;  
  dwTmp             : DWord;  
begin  
  Result := '';  
  // sind Versionsinformationen enthalten ?  
  verInfoSize := GetFileVersionInfoSize(FileName, dwTmp);  
  if verInfoSize > 0 then  
  begin  
    // entsprechend großen Datenbank anfordern  
    ptrBlock := AllocMem(verInfoSize);  
    try  
      // Daten auslesen  
      GetFileVersionInfo(FileName, 0, verInfoSize, ptrBlock);  
      // feststehende Daten auslesen  
      VerQueryValue(ptrBlock, '\', verInfo, dwTmp);  
      with PVSFixedFileInfo(verInfo)^ do  
        Result := Format('Version %d.%d.%d.%d',  
                         [HIWORD(dwProductVersionMS),  
                          LOWORD(dwProductVersionMS),  
                          HIWORD(dwProductVersionLS),  
                          LOWORD(dwProductVersionLS)]);  
    finally  
      FreeMem(ptrBlock);  
    end;  
  end;  
end;  
end.

Der Info-Dialog wird dann vom Programm aus aufgerufen:

Code:
uses OS_AboutVersionDlg;  
procedure TForm1.Button1Click(Sender: TObject);  
begin  
  OsAboutBox := TOsAboutBox.Create(self);  
  try  
    OsAboutBox.ShowModal;  
  finally  
    OsAboutBox.Release;  
  end;  
end;

hoffe, daß das hilft...
 
  • Fileversion von dll,exe usw. mit Delphiprog. rauskriegen? Beitrag #3
Z

Zeus

Bekanntes Mitglied
Dabei seit
07.04.1999
Beiträge
334
Reaktionspunkte
0
Hey super, dankeschön Hi-Di-Ho!
Ich muss es mir nachher nochmal genau ansehen, aber es müsste genau das sein, was ich gesucht habe.
 
Thema:

Fileversion von dll,exe usw. mit Delphiprog. rauskriegen?

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben