VerQueryValueを使用して、DLL の VersionInfo から文字列を取得しています。
Explorer によって表示される FileVersion (ファイルを右クリックし、[プロパティ]、[詳細]、[ファイル バージョン]) が VerQueryValue から取得した文字列と一致しないことを除いて、すべて正常に動作します。
VerQueryValue への他のすべての呼び出しは正常に機能していますが、FileVersion は ProductVersion と同じデータを取得しているようです。異なる言語 (C++ および Delphi) で記述された 2 つの異なる「バージョン情報」コンポーネントを試しましたが、どちらもこの動作を示すため、自分の (またはその) コードのバグではないと思います。
私が考えることができる2つの可能性:
- VerQueryValue のバグ
- または、Windows シェルは実際には FileVersion 文字列以外の何かを表示します。
どちらが可能性が高いか知っている人はいますか?