Windowsアプリケーションのメッセージループでは、GetMessage()関数はメッセージキューにメッセージがないときにアプリケーションスレッドを一時停止しますが、メッセージキューにメッセージがエンキューされたときにどのように起動するのですか?スリープスレッドはどうやって目を覚ますことができますか?Win32 APIのGetMessage()の内部メカニズムは?
while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
アプリケーションのボタンをクリックすると、「メッセージを送信するプロセス」はWindows自体であると言えますか? – TomCaps
キーボードやマウスドライバからスケジューラまで、多くのことが関係しています。典型的なケースでは、これらのすべてがWindowsの一部です。 –