掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
バージョン情報取得についてさらに・・ (ID:15459)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いろいろ試してみたのですが・・・ これでよいのでしょうか? 日本語OSでは問題ありませんでした。 function LoadVersonInfo: String; var ModuleName: array[0..255] of Char; nSize: DWord; pBuffer: PChar; pValue: PDWord; nValue: DWord; Str: String; pRead: PChar; nRead: DWord; tsStrings: TStringList; begin // パス付きDLLファイル名を取得 GetModuleFilename(HInstance, ModuleName, SizeOf(ModuleName)); // バージョン情報のサイズを取得 nSize := GetFileVersionInfoSize(ModuleName, nSize); if nSize > 0 then begin pBuffer := AllocMem(nSize); try // バージョン情報を取得する if GetFileVersionInfo(ModuleName, 0, nSize, pBuffer) then begin if VerQueryValue(pBuffer, PChar('VarFileInfo\Translation'), Pointer(pValue), nValue) then begin Str := Format('StringFileInfo\%04.4x%04.4x\FileVersion', [LoWord(DWord(pValue^)), HiWord(DWord(pValue^))]); if VerQueryValue( pBuffer, PChar(Str), Pointer(pRead), nRead) then begin tsStrings := TStringList.Create; try ExtractStrings(['.'], [], pRead, tsStrings); Result := pRead; finally tsStrings.Free; end; end; end; end; finally FreeMem(pBuffer, nSize); end; end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.