[gelöst] Programmversion von anderen Prgs auslesen (Unix)
Hallo,
ich habe ein eventuell nur kleines Problem. Ich müsste die Versionsnummer von einem anderen Programm auslesen, welches auch unter FreePascal (Lazarus bzw. CodeTyphon) erstellt wurde. Innerhalb meines Programms kann ich "meine" Versionnummer mit dieser Unit lesen: Link Aber ich finde leider nicht wie ich die Versionsnummer eines anderen Programms was ich auch geschrieben habe auslesen kann. Natürlich sind die anderen Programme auch mit Lazarus bzw. CodeTyphon erstellt worden und die Daten unter Projekteinstellungen/Versionsinformation sind eingestellt. Da ich unter Unix innerhalb meines Programms die Version lesen kann, müsste ich doch auch irgendwie an die Nummer eines anderen Programms kommen. Natürlich habe ich schon gegoogelt aber leider nichts gefunden. Vielen dank im voraus |
AW: Programmversion von anderen Prgs auslesen (Unix)
Du hast ein nur
Delphi-Quellcode:
und das will ein Handle.
procedure Load(Instance: THandle);
Im Windows gibt es z.B. LoadLibraryEx mit LOAD_LIBRARY_AS_IMAGE_RESOURCE oder LOAD_LIBRARY_AS_DATAFILE, womit man eine EXE, DLL oder BPL in seinen Prozess laden kann, ohne deren Code auszuführen. Sowas müsstest du für Unix finden, aber ich bin mir nicht sicher, ob im Unix die Dateien auch das PE-Format benutzen (glaub nicht .. ist wohl ELF oder so) und ob somit dort so garnicht die Version ausgelesen werden kann, weil sie anders gespeichert ist. Aber wenn/da das funktioniert, mußt du wohl nur noch rausfinden wie du an das Handle kommst. |
[gelöst] Programmversion von anderen Prgs auslesen (Unix)
Lösung: (Ja, ich habs gefunden :-D)
Delphi-Quellcode:
In uses muss noch resource, elfreader, versiontypes,versionresource,FileInfo
function TMyApplication.GetProgramVersion(ExeFileName: String) : String;
var FileVerInfo: TFileVersionInfo; begin FileVerInfo := TFileVersionInfo.Create(nil); try FileVerInfo.FileName := ExeFileName; FileVerInfo.ReadFileInfo; Result := FileVerInfo.VersionStrings.Values['FileVersion']; finally FileVerInfo.Free; end; end; Gruß und trotzdem danke! Gefunden auf Link |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz