通知
すべてクリア
Topic starter
2009年1月15日 7:41 PM
お世話になっております。
SetWindowsText WM_SETTEXT や GetWindowText WM_GETTEXT
の動作がわかりません。
SPY++ のようなものを作成しようと思い、ウインドウの情報を
出力するため、SetWindowsText WM_SETTEXT や GetWindowText WM_GETTEXT
を試しているのですが、動作が安定しません。
フック処理で WH_CALLWNDPROC を使い。
WM_GETTEXT がきた時に GetWindowText で ウインドウのテキストを取得しているので
すが、
正しく取得できているときと、取得できていないときがあります。
なぜそのように、安定しないのでしょうか?
開発環境は VisualStudio 2005 の WTL 7.5 で XPで動作テストしております。
よろしくお願いします。
2009年1月16日 11:32 AM
GetWindowTextにフックをインストールしたプロセスが所有するウインドウを
渡したとき大丈夫ですか?
GetWindowTextはターゲットウインドウが呼び出し側のプロセスに所有されている場合に
WM_GETTEXTメッセージを送るようですが。
2009年1月16日 3:58 PM
>GetWindowTextにフックをインストールしたプロセスが所有するウインドウを
グローバルフックの場合、フックプロシージャを実行するのは
WM_GETTEXTを受け取ったプロセスになるので
フックをインストールしたプロセスとか関係なかったですorz
結局WM_GETTEXTの中からWM_GETTEXTが送られる形になっていると
思われますのでよくはないです。
不安定の原因と関係あるかどうかはわかりませんが。