現在C++で選択されていないウィンドウにキーストロークを送信する方法はありますか?たとえば、メモ帳ウィンドウを最小化していて、ウィンドウを前面に表示せずにテキストを入力したい場合です。
私はWindows764ビットを使用しています。
現在C++で選択されていないウィンドウにキーストロークを送信する方法はありますか?たとえば、メモ帳ウィンドウを最小化していて、ウィンドウを前面に表示せずにテキストを入力したい場合です。
私はWindows764ビットを使用しています。
を使用せずに入力を偽造することは、完全に一般的にはかなり困難SendInput()
です。
はいPostMessage()
、試してみることはできますが、eznme からの回答は、SendMessage
. 私や他の人がここで 1 日に何度も言っているように、入力はウィンドウ ハンドルに送信されるのではなく、メッセージ キューにポストされます。
とは言っても、メモ帳ウィンドウに入力フォーカスを与えたくない場合は、偽造によってそこにテキストを取得するのが難しくなります。より適切に機能し、より使いやすい非常に単純な代替手段は、メモ帳ウィンドウのウィンドウ ハンドルを見つけて、たとえばその内容を直接変更するためにとEDIT
を使用することです。WM_GETTEXT
WM_SETTEXT
実際、このウィンドウ ハンドルを自由に使えるようになると、膨大な数の機能が利用可能になります。
もちろん: PostMessage() と SendMessage() を確認してください。これらは Windows API の一部です:
http://msdn.microsoft.com/en-us/library/ms644944%28VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/ms644950%28VS.85%29.aspx
具体的には、おそらく送信したいWM_KEYUP
http://msdn.microsoft.com/en-us/library/ms646281%28VS.85%29.aspx