2017-10-01 7 views
-8
#include<iostream> 
#include<windows.h> 

Using namespace std; 

Int main()  
{ 
    MSG Msg; 
    While(GetMessage (&Msg,NULL,0,0)){ 
     TranslateMessage(&Msg); 
     DispatchMessage(&Msg); 
    } 

    return 0; 
} 
+0

[C++に関する書籍があります](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)そして、WindowsプログラミングとWinAPIに関する良い本。それらはあなたにそれを説明することができます。 – StoryTeller

+1

私にメッセージポンプのように見える - あなたの最良の賭けは、デビッドKruglinskiさんが書いたような、C++でプログラミングされたWindowsで本を手に入れることです。 – Bathsheba

+0

[The Definitive C++ Book Guide and List]の重複の可能性(https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – ks1322

答えて

1

コードタグ(括弧)を使用して、書式設定されたボックスにコードを配置できます。

したがって、メイン関数内では、MSG Msg;はMsgというMSGオブジェクトを開始します。

次の行While(GetMessage (&Msg,NULL,0,0)){はwhileループであり、trueの間はブロック内のすべてのコードを繰り返します。この場合、ブロック内のコードは、呼び出し元のスレッドのメッセージキューにメッセージがある限り繰り返されます。その関数のパラメータは、出力が以前に開始されたMsgオブジェクトに向けられることを意味します。NULLは、スレッド内の任意のウィンドウに対してメッセージが取得されることを意味します。最後の2つのパラメータはフィルタリング用ですが、両方とも0なので、すべてのメッセージが取得される(フィルタなし)ことを意味します。

TranslateMessage関数TranslateMessage(&Msg);は、キーボード入力をメッセージに変換するために使用されます。メッセージが変換されると、それはスレッドキューに追加されます。

DispatchMessage関数DispatchMessage(&Msg);は、メッセージの実際の処理を行い、関連する関数にメッセージを送信するために使用されます。

これは、本質的に、イベント/イベントの取り込みと処理を行い、必要に応じてwindows/theads間の通信を行うためのメッセージキューです。

関連する問題