Für meine Windowserkennungsroutine brauche ich die Produktversion einer Datei, da diese nur beim Kernel erhöht wird, aber nicht bei anderen aktualisierten Windowsdateien. Nun der Explorer kann das wunderbar anzeigen:
http://img443.imageshack.us/img443/6...xplorerjh1.png
, aber bei mir klappt das nicht. Ich bekomme immer 6.0.6000.20532, also die Dateiversion und nicht die Produktversion.
Delphi-Quellcode:
function GetVersionsInfo(const AFilename :String; var V1,V2,V3,V4:Word):Boolean;
var
VerInfoSize : Integer;
VerValueSize : DWord;
Dummy : DWord;
VerValue : PVSFixedFileInfo;
VerInfo : Pointer;
FName : PChar;
begin
FName := StrAlloc(Max_Path);
try
StrPCopy(FName, AFileName);
VerInfoSize:=GetFileVersionInfoSize(FName, Dummy);
Result := False;
if VerInfoSize > 0 then
begin
GetMem(VerInfo,VerInfoSize);
try
if GetFileVersionInfo(FName,0,VerInfoSize,VerInfo) then
begin
if VerQueryValue(VerInfo,'\',Pointer(VerValue),VerValueSize) then
with VerValue^ do
begin
V1 := dwProductVersionMS shr 16;
V2 := dwProductVersionMS and $FFFF;
V3 := dwProductVersionLS shr 16;
V4 := dwProductVersionLS and $FFFF;
end;
Result:=True;
end;
finally
FreeMem(VerInfo,VerInfoSize);
end;
end;
finally
StrDispose(FName);
end;
end;
Also hab ich mal den XN Resource Editor geschnappt und siehe da, da wird auch 6.0.6000.20532 als Produktversion angezeigt
http://img406.imageshack.us/img406/8...versionxy4.png
Wie schafft der Explorer das?
André
"A programmer is just a tool which converts caffeine into code",
daran wirds wohl liegen, dass ich Abends nie pennen kann
Zitat von
Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic