WM_APP

WM_APPメッセージコードは、アプリケーション定義のメッセージを定義するのに使用されます。通常、アプリケーション定義のメッセージをWM_APP+X (Xは0から0x3FFFまでの整数)の形で定義します。

#define  WM_APP           0x8000

戻り値

戻り値はありません。

解説

メッセージコードには以下の五つの範囲があり、それぞれ役割が異なります。

範囲 意味
0WM_USER-1 システムが使用するために予約されているメッセージ
WM_USER0x7FFF プライベートウィンドウクラスが使用するための整数メッセージ
WM_APP0xBFFF アプリケーションが使用することのできるメッセージ
0xC0000xFFFF アプリケーションが使用するための文字列メッセージ
0x10000 予約されています

0からWM_USER-1までの範囲のメッセージは、システムによって定義されています。この範囲の中で明示的に定義されていない値は今後の拡張のために予約されています。

WM_USERから0x7FFFまでの範囲のメッセージは、プライベートウィンドウクラスの中でメッセージを送信するのに、アプリケーションが定義して使用することができます。定義済みウィンドウクラスではすでにこの範囲の値を定義しているため、この範囲の値を使用して、アプリケーションの至る所で重要となるメッセージを定義することはできません。例えば、ボタン、エディットコントロール、リストボックス、コンボボックスなどの定義済みコントロールではこれらの値を使用されています。メッセージを拡張してそのメッセージコードに同じ意味を持たせるようにアプリケーションが設計されていない限り、このメッセージを他のアプリケーションに送信してはいけません。

Windows 95/98/Me: プライベートアプリケーションメッセージはWM_USER+0x0100より大きい値で定義されなければいけません。これよりも大きい値を用いることで、プライベートメッセージとダイアログボックスコントロールメッセージが衝突しないことが保証されます。

WM_APPから0xBFFFまでの範囲のメッセージは、アプリケーションがプライベートメッセージを定義するために使用することができます。この範囲のメッセージは、システム定義のメッセージと競合することはありません。

0xC000から0xFFFFまでの範囲のメッセージは、アプリケーション実行時にRegisterWindowMessage関数を呼び出して、文字列に対するメッセージコードを取得する際に定義されます。同じ文字列を登録したすべてのアプリケーションが、関連付けられたメッセージコードをメッセージのやり取りに使用することができます。ただし、実際のメッセージコードは一定の値ではないため、異なるセッション間で同じ値であると仮定してはいけません。

0x10000以上の範囲のメッセージは、今後の拡張のためにシステムによって予約されています。

対応情報

Windows 95 以降 / Windows NT 3.51 以降