Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi GetFileVersionInfoW: mal gehts, mal nicht (https://www.delphipraxis.net/114147-getfileversioninfow-mal-gehts-mal-nicht.html)

messie 20. Mai 2008 15:35


GetFileVersionInfoW: mal gehts, mal nicht
 
Moin.

ich habe diesen Code
Delphi-Quellcode:
procedure TAboutBox.FormShow(Sender: TObject);
var
  s : WideString;
  p, dummy : pWideChar;
  i, len : DWORD;
  j : cardinal;
begin
  try
    s := application.ExeName;
    i := GetFileVersionInfoSizeW(PWideChar(s),j);
    if i > 0 then
    begin
      p := AllocMem(i);
      GetFileVersionInfoW(PWideChar(s),0,i,p);
      VerQueryValueW(p, PWideChar(WideString('\\StringFileInfo\\040704E4\\FileVersion')),Pointer(dummy), Len);
      Label3.Caption := dummy;
      freemem(p,i);
    end;
  except
    //nix
  end;
end;
in zwei Programmen. Bei einem geht es, bei den anderen nicht.

Wie kann das sein? Gibt es da Nebenbedingungen?

Grüße, Messie

nicodex 20. Mai 2008 15:40

Re: GetFileVersionInfoW: mal gehts, mal nicht
 
Zitat:

Zitat von messie
040704E4

0407 = Deutsch (Deutschland)
04E4 = Codepage 1252

'Vielleicht' enthält die (nicht funktionierende) Exe keine deutschen Versionsinformationen mit der Codepage 1252.

messie 20. Mai 2008 16:15

Re: GetFileVersionInfoW: mal gehts, mal nicht
 
Super Idee, danke. Ich war nicht drauf gekommen, dass ich erst die Codepage- und Ländereinstellungen auslesen muss.

Grüße, Messie


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 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