• ベストアンサー

【MFC】Version情報の取得

MFCでアプリケーションを作成しています。 リソースビュー⇒「Version」⇒「VS_VERSION_INFO」の、 キー「FILEVERSION」の値を取得するにはどのように実装すれば良いのでしょうか? ご存知の方おられましたら、ご教授お願い致します。 開発環境はVC++2005です。

質問者が選んだベストアンサー

  • ベストアンサー
noname#208124
noname#208124
回答No.1

GetFileVersionInfoSize→GetFileVersionInfo→VerQueryValue で取れる構造体のdwFileVersionMSとdwFileVersionLS ファイルのプロパティで見れるような4つの数字に分けるときはそれぞれにHIWORDマクロとLOWORDマクロ

参考URL:
http://hp.vector.co.jp/authors/VA000092/win32/misc.html
zigen8513
質問者

補足

ご回答ありがとうございます。 参考URLを元にソースを組んだところ、 DWORD hoge1 = info->dwFileVersionMS; DWORD hoge2 = info->dwFileVersionLS; にてバージョン情報らしき値を取得することが出来ました。 >ファイルのプロパティで見れるような4つの数字に分けるときはそれぞれにHIWORDマクロとLOWORDマクロ のご指摘について、 DWORD hoge1 = (HIWORD)info->dwFileVersionMS; DWORD hoge2 = (LOWORD)info->dwFileVersionLS; としたところ、 'HIWORD' : 定義されていない識別子です。 'LOWORD' : 定義されていない識別子です。 とのエラーが出てしまい、コンパイルが通りません。 何かヘッダをインクルードするのかと思い、色々調べた上 #include <windef.h> #include <windows.h> を追加したのですが、だめでした。 これらのマクロを使用するために、何か他に定義しなければいけないのでしょうか? 当方マクロを使用したことがなく、解決出来ない状態です。 お手数ですが、ご教授頂けませんでしょうか。

その他の回答 (1)

  • aris-wiz
  • ベストアンサー率38% (96/252)
回答No.2

HIWORDやLOWORDは型マクロではなく 関数マクロです。 HIWORD(info->dwFileVersionMS) とかにする必要があります。 ちなみに、バージョン情報の左側から取り出すには、 以下のようにすることもできます。 info->dwFileVersionMS>>16, info->dwFileVersionMS&0xffff, info->dwFileVersionLS>>16, info->dwFileVersionLS&0xffff,

zigen8513
質問者

お礼

DWORD FileVer1 = HIWORD( info->dwFileVersionMS ); DWORD FileVer2 = LOWORD( info->dwFileVersionMS ); DWORD FileVer3 = HIWORD( info->dwFileVersionLS ); DWORD FileVer4 = LOWORD( info->dwFileVersionLS ); のように記述することで取り出すことが出来ました! ご回答ありがとうございました。

関連するQ&A