Visual C++ 2008 Professional Editionで作成したWin32コンソールプリケーションで、ソースコード内でアプリケーションのビルド日時を取得する方法は無いでしょうか?


現在はソースコードmain.cpp内で下記のコードを実行しています。
printf( "ビルド日時 %s %s\n", __DATE__, __TIME__ );
ただ、これだとmain.cppをコンパイルした日時を取得してしまうので、main.cpp以外のソースだけを編集してビルドしても、表示されるビルド日時は古い(main.cppをコンパイルした時の)ままです。

そこで、下記のいずれかの方法を実現出来るなら、その方法を教えてもらえないでしょうか。

1. main.cppを常にコンパイルする(例えば#pragma hogehogeと書いておくとか、プロジェクトの設定を変更するとかして)
2. ビルド日時を取得するAPIがあれば、それを使用する(例えばGetBuildDate()関数を実行して… 等)

回答は1または2のいずれか一方だけで結構ですので、よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:2010/06/14 19:20:25
  • 終了:2010/06/18 18:07:26

回答(1件)

id:niwa-mikiho No.1

niwa-mikiho回答回数508ベストアンサー獲得回数382010/06/18 05:12:02

ポイント60pt

GetFileTime()


で自分自身の作成日時を得て、


FileTimeToLocalFileTime()


ローカルタイムにすればいいだけだと思うのですが・・・

id:streakeagle

それで出来ました。ありがとうございます。

2010/06/18 18:06:56

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません