みなさん、こんにちは Windows32 プログラミングの初心者で、いくつか質問があります。
プログラムで次のコードを使用すると、正常に動作します-:
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
しかし、GetMessage の null を hwnd (作成したばかりのウィンドウのハンドル) に置き換えると、閉じていないように見えますが、バックグラウンドで実行されたままです。NULL を hwnd に置き換えると、なぜこれが発生するのかというと、1 つのウィンドウに対してのみメッセージを受信しているのに、なぜ機能しないのですか??
while(GetMessage(&msg,hwnd,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
ところで、windows 関数は次のとおりです。
LRESULT CALLBACK WinProc(HWND hWnd, UINT message,
WPARAM wparam, LPARAM lparam){
switch(message){
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wparam, lparam);
}
return 0;
}
第二に-:
特定のウィンドウに送信されたすべてのメッセージを表示する方法はありますか????
第三に-:
Windows プログラムをコンパイルするときに __stdcall(WINAPI) を記述する理由は何ですか ????
迅速な返信をいただければ幸いです。ありがとうございます。