私はVS2008を使用しており、プロジェクトのプロパティは(アクティブな)x64に設定されています
奇妙なことは、_WIN64 が定義されておらず、WPARAM と LPARAM がまだ 32 ビットであることです。
_WIN64 を手動で定義する必要がありますか?
その場合、#define _WIN64 はどこに配置すればよいですか? プリプロセッサの設定が機能していないようです。
タスクマネージャーではexeに* 32接尾辞がないため、x64としてコンパイルされていると確信しています。
問題は、
_WIN64 は既にコンパイラによって定義されていますが、IDE はそれを認識できませんでした。(VS2010で修正されたようです。)
sizeof(WPARAM) と sizeof(LPARAM) の値は両方とも 8 です (4 ではありません)。
IDE は、*ifdef _WIN64* ブロック内のコードを非アクティブであるかのように灰色で表示しますが、実際にはそうではありません。
Microsoft によると、VS2008 では、デバッグ ビルドとリリース ビルドの両方について、プリプロセッサ定義で自分で設定する必要があります。こちらをご覧ください。