1. ホーム
  2. c#

Send MessageとPost Messageの違いと、C#、WPF、Pure Windowsプログラミングとの関連は?

2023-10-26 17:40:43

質問

メッセージの送信とメッセージの投稿の違い(純粋なWindowsプログラミングの観点から)と、これらがC#、WPF、純粋なWindowsプログラミングにどのように関係しているか教えてください。

私はスレッドとすべての関連するもののために新しいですので、明白なquesitonのために私を許してください。 私はスレッディングの外部を掘る必要があります。

私はPost messageからAfx(新しいスレッドを開始するための呼び出し)までのInvok/Begin InvokeをDispatcherに委譲することを理解する必要があります。

どのように解決するのですか?

PostMessage ("pure windows programming"、別名win32 API)は 非同期 であり、つまり、ドキュメントを引用すると

にメッセージを置く(投稿する)。 に関連するメッセージ キューにメッセージを配置 (投稿) します。 を作成したスレッドに関連するメッセージキューに ウィンドウを作成したスレッドに関連するメッセージキューに そのスレッドがメッセージを処理するのを待たずに戻ります。

スレッドに関連付けられたメッセージキューにメッセージを投稿するには スレッドに関連付けられたメッセージキューにメッセージを投稿するには PostThreadMessage関数を使用します。

SendMessage 同期 である、つまり、再び引用する。

指定されたメッセージを ウィンドウに送信します。SendMessage 関数は、指定されたウィンドウのウィンドウ プロシージャ を呼び出します。 を呼び出し、そのウィンドウプロシージャがメッセージを処理するまで メッセージを処理するまで戻りません。

メッセージを送信してすぐに戻るには を使用します。 SendMessageCallbackまたは SendNotifyMessage関数を使用します。メッセージを メッセージをスレッドのメッセージキューにポストし に投稿し、すぐに戻るには PostMessage または PostThreadMessage 関数を使います。

この2つの関数とその使用法に関する良いチュートリアルは はこちら .

WPFとの接続については このSOの質問 .