Hallo,
ich möchte das BuildDate einer Exe ermittlen.
Also das aktuelle Datum beim kompilieren!
Das ganze klappt auch gut für andere BuildInfos mit der üblichen
Vorgehensweise -> VS_VERSION_INFO.
Die Struktur VS_VERSION_INFO kann man mit Schlüsselwörtern "befüllen"
VALUE "FileVersion", VERSIONSTRING
VALUE "InternalName", "MyFile"
VALUE "ProductName", "MyProduct"
VALUE "Revision", REVISIONSTRING
VALUE "ProductVersion", VERSIONSTRING
VALUE "LegalCopyright", LEGAL_COPYRIGHT
VALUE "BuildDate", BUILDDATE --> wie befülle ich das Datum ??
(mit _DATE_ klappts nicht!! und von hand möchte ich es auch nicht
reinschreiben - das soll automatisch gehen!!
ps: ich entwickle in C mit VS2008 WinXP
Danke
Gruss
WinProgrammer schrieb:> VALUE "BuildDate", BUILDDATE --> wie befülle ich das Datum ??
Das funktioniert einfach nicht. Und hat noch nie funktioniert.
Macht aber nichts, weil das Build-Date dem PE-Header entnommen werden
kann.
Joachim Drechsel schrieb:> ist das das Datum der Erstellung der .exe (vom Linker) ?
Bei MS-Compilern ja.
Was MakePtr macht, kann ich Dir morgen raussuchen.
Joachim Drechsel schrieb:> Man sollte pZeit nochmal durch GetLocalTime() jagen sonst zeigt> es eine Stunde zu wenig an ...> Test()> {> SYSTEMTIME tim;>> GetPeTime( "test.exe", &tim);> GetLocalTime( &tim);
Nein. GetLocalTime bestimmt die aktuelle Zeit, und interessiert sich
nicht für das, was vorher in der SYSTEMTIME-Struktur dringestanden hat.
Du willst SystemTimeToTzSpecificLocalTime verwenden. Wird dieser
Funktion als erster Parameter ein NULL-Pointer übergeben, wertet sie die
aktuelle Zeitzone aus.
Also:
Auf jeden Fall geht es jetzt. Nach so einer Funktion hatte ich
schon länger gesucht. Beim Kopieren geht halt ab und zu mal das
Dateidatum verloren. Nur mit _DATE__ und __TIME_ muß ich das
File mit main() halt ständig mitkompilieren ...
Danke nochmal und auch ein schönes Wochenende !