私はspy ++を使用していますが、私が持っているコントロールはspy ++の16進数(変換後も)と一致する10進数を持っています。フォームとウィンドウのラベルとIntPtrのIntPtrがありますが、SendMessage
はターゲットアプリケーションのテキストを変更しようとしていません。「別の」win32アプリケーションでテキストを設定する方法
別のアプローチは、この記事のような何かをするかもしれすることができるが、コントロールIDが何であるとどのように私は正しい、SetText of textbox in external app. Win32 API
が、私はここのhWndをコントロールのhWndにする必要があると仮定していることですか?
SendMessageCall(hWnd, WM_SETTEXT, (IntPtr)value.Length, value);
まだそれは変更してからテキストを取得していないテキストを設定し、私はテキストが
SendMessageCall(hWnd, WM_GETTEXT, (IntPtr)sb.Capacity, sb);
を働いているばかりということに気づくと、私は正しい値を参照してください、私はテストを得ることに気付きます再びSendMessage
を使用して、それは新しい値ですが、アプリケーションはまだ間違った値を示しています....うーん、私は多分再描画メッセージを送る必要がありますか?そうなら、そのコードは何ですか?
おかげで、 ディーン
'value.Length'ではなく' wParam'を0に設定してみてください。 –
これはうまくいきませんでしたが、私はwinspectorを使用することができました。実際には、ターゲットのコンポーネントが設定されたテキストメッセージを受信しているのを見ています(以下の回答のようにrectを無効にしてください)。 –