このスレッドによると: CreateWindow/CreateDialog からの HWND を別のスレッドから GetMessage することはできますか? 、メインスレッドのHWNDを使って別スレッドでGetMessageが使えないようです。
新しいスレッドから呼び出される GetMessage を使用して、編集テキスト内の値を取得しようとしているだけです。これを行うにはどのような方法がありますか?
このスレッドによると: CreateWindow/CreateDialog からの HWND を別のスレッドから GetMessage することはできますか? 、メインスレッドのHWNDを使って別スレッドでGetMessageが使えないようです。
新しいスレッドから呼び出される GetMessage を使用して、編集テキスト内の値を取得しようとしているだけです。これを行うにはどのような方法がありますか?
実際にはまったく使用しない編集コントロールから値を取得したい場合GetMessage
。GetMessage
はメッセージを受信するためのものですが、ウィンドウからテキストを取得するには、メッセージを送信する必要があります。つまり、 を使用しますSendMessage
。
送信するメッセージはWM_GETTEXT
(前にWM_GETTEXTLENGTH
) です。または、さらに簡単に、OS が提供するラッパー関数の 1 つを使用します。この例では、GetWindowText
またはGetDlgItemText
. それらはスレッドの境界を越えて (実際にはプロセスの境界を越えても) 正常に動作します。