私はいくつかのコードを見ていました、そして彼らはこの行を持っていました:#define WINVER 0x0501
in stdafx.h
ファイル?なぜWINVER
を定義する必要があるのですか?それはあなたのコードにどのように影響しますか?誰か説明してもらえますか?
WINVERは、アプリケーションのビルドに必要な最小プラットフォームSDKを決定します。これにより、コンパイル時に、ヘッダーによって検出されるルーチンが決定されます。
これを使用して、コンパイル時に、アプリケーションがWindows 2000(0x0500)、またはWindows XP(0x0501)で動作することを確認できます。
WINVERと_WIN32_WINNTの変更 に関するMSDNのページでは、これについて詳しく説明しています。
WINVERは、プログラムを実行できる最小のWindowsシステムを定義します。より詳細な説明があります MSDNで 。何 #define WINVER 0x0501
は、プログラムの実行にWindows XPまたはServer2003が必要であり、したがって、そのリリースまでのWindows機能を使用できることを意味します。
WINVERはWindowsバージョンを意味します。簡単に言うと、特定のバージョンのWindows用にビルドしている場合、以前のバージョンでは使用できないAPIがいくつか使用できます。
WINVER
マクロを定義することにより、特定のWindowsバージョンに固有の一連の関数を再表示します。たとえば、#define WINVER 0x0502
として定義すると、Windows Vistaでのみ使用可能な TaskDialog を使用できなくなります。詳細については、MSDNの Windowsヘッダーの使用 の記事を参照してください。