2012-04-03 3 views
1

可能性の重複を編集するには:
Using SendMessage to enter text into an edit control belonging to another processのSendMessageはcontroI C++

私はプログラム的にはDirectXウィンドウの編集コントロールのテキストを設定したいです。編集コントロールの正しいハンドルを得ることができますが、編集コントロールをクリックした場合にのみテキストが挿入されます。編集コントロールをクリックせずにテキストを挿入する方法。私はこれをやっています:

HWND hWnd = FindWindow(NULL,"Game"); 
HWND edit = FindWindowEx(hWnd, NULL, "Edit", NULL); 

SendMessage(edit, WM_CHAR, (TCHAR) 'H', 0); 
Sleep(100); 
SendMessage(edit, WM_CHAR, (TCHAR) 'E', 0); 
Sleep(100); 
SendMessage(edit, WM_CHAR, (TCHAR) 'L', 0); 
Sleep(100); 
SendMessage(edit, WM_CHAR, (TCHAR) 'L', 0); 
Sleep(100); 
SendMessage(edit, WM_CHAR, (TCHAR) 'O', 0); 
Sleep(100); 

親ウィンドウは、編集コントロールから離れるときに編集コントロールを非表示/無効にします。

このコードは、コードを実行しているときに同時に編集コントロールをクリックした場合にのみ機能しますが、編集コントロールをクリックせずにテキストを挿入するためにプログラムと自動化を自動化する方法バックグラウンドでこれをすべて実行することは可能ですか?

+0

もう一度! OK私はあなたのためにそれをGoogle ... WM_CHAR MSDNで:WM_KEYDOWNメッセージがTranslateMessage関数によって翻訳されたときに、キーボードのフォーカスを使用してウィンドウに投稿しました。 「キーボードの焦点に!」 –

+0

'WM_SETTEXT'ではなく' WM_CHAR'を使うのはやっかいです。あなたが離れた場所に移動すると、エディットコントロールを隠すか無効にするターゲットアプリケーションの動作に関する問題です。しかし、あなたはそれについて言及しなかった。間違いなく以下のコメントで(再び)出てくるだろう。同じ質問を続けてください。質問は非常に貧弱だったので、あなたは前回の回答を得ていませんでした。同じ質問をするだけで私たちは怒ります。 –

+0

@David Heffernan あなたがあなたの答えを投稿しない理由を知っているならば、私は怒っていると言います。 P .:はい。編集コントロールから離れると、編集コントロールが非表示になります。 – Jigberto

答えて

0

Edit_SetText

+0

私はそれを試して、編集コントロール、他の提案をクリックしても動作していないのですか? – Jigberto

+0

私はあなたが同じ質問を二度聞かないことを提案します。私はあなたの他の質問に途中で答えました。 – karlphillip

関連する問題