から動作しません。誰か助けてくれますか?のSendMessageは、私は「」私のアプリケーションからのアクティブウィンドウに文字を印刷しようとしているC#
答えて
特にWM_KEYDOWNとWM_KEYUPは、特に文字キーに対しては送信されません。アプリケーションのメッセージポンプは、それらのキーに対してWM_CHARを生成するTranslateMessageを呼び出します。通常はアプリケーションが文字入力を調べるのはWM_CHARです。
入力を挿入する正しい方法は、SendInput関数を使用することです。
ここはSendInput wrapperです。私はグーグルで見つけました。
SendMessageではなくPostMessageを使用する必要があります。あなたのpinvoke宣言も間違っています、戻り値と最後の2つの引数はintではなくIntPtrです。
究極の欠点は、修飾キーCtrl、Shift、Altの状態を制御できないことです。これは、ユーザーがこれらのキーの1つを押したかどうかによって、ランダムに失敗する。 SendInputが必要なので、SetForegroundWindow()でフォーカスを正しく取得する必要があります。 WinformsアプリケーションでSendKeysを使用します。
入力キーを挿入するには、SendMessage()を使用してWM_CHARを送信します。
+1 SendKeys。もちろん、OPの以前の質問では、彼はSendKeysを使わないことを勧められましたが、代わりにSendMessageを使ってテキストをエディットボックスに直接ポストしました。おそらくWM_SETTEXTを使用しました。しかし、OPはこれを誤解しているようです...... –
うん、良いアドバイスではない。その1つの適切な答えはWM_COPYです。 –
- 1. 逆の順序で文字列データを印刷するには?私はのように見えているJSPページのログファイルでそれをコード化していますようrevrseために、文字列を印刷しようとしています
- 2. どのように私は().formatを使用して文字列を印刷し、そして私の置き換え文字列
- 3. 印刷pageRectとpaperRectは、私は、印刷コードに続くいる
- 4. エスケープ文字を文字として印刷するにはどうすればよいですか?
- 5. ブレーク文は、私は次の文字列破るしようとしている
- 6. SendMessageを介してC#からMFCに文字列を送信
- 7. 私は、Java でピラミッドを印刷しようとしていたJava
- 8. 私のCアプリケーションでは、文字列を文字列リストと比較して
- 9. は、どのように私は、文字列は、私はこのような文字列を持っている
- 10. 私は、文字列は次のように構築してい
- 11. 印刷NSMutableArrayのは、私は次の行に自分のアプリケーションがクラッシュしたと判断していないエラーコード
- 12. 私はこの文字列をオンにしようとしているPHP
- 13. ログファイルからrddを印刷しようとしています
- 14. クッキーからアレイを印刷しようとしています
- 15. どのように私は、Javaクエリからループ内の "resultList"を印刷し、javascriptを使用してそれを印刷するのですか?
- 16. 送信印刷は、私たちにできるDOSのようにC#の.NET
- 17. PHPスペイン語の文字こんにちは、私はESTAの情報を印刷していますprint_r
- 18. C文字列を印刷ジャンク文字
- 19. のは、私は、文字列を持っているとしましょう、だから、文字列
- 20. 私は1ページに1つのdiv要素を印刷するのにprint.cssを使用しようとしている、と私は自分のコードの例
- 21. 私のハッシュが文字列として印刷されるのはなぜですか?
- 22. ボタンは、私は次のコードでWPFウィンドウを印刷しようとしている
- 23. なぜPython印刷でいくつかの絵文字が印刷されますが、他の絵文字は印刷されませんか?私は、Python 2.7/Ubuntuの14でデータフレームを印刷してい
- 24. は、私は、次の形式の文字列に一致するようにしようとしているREGEX
- 25. 私は数字の文章をチェックしようとしています。コードは
- 26. どのように私のSendMessage WinAPIの
- 27. C++ 11 time_pointはどのように印刷しますか?
- 28. 他の文字列が印刷されている間に文字列を印刷するにはどうすればよいですか?
- 29. Python 2.x Unicode文字列をu'string 'として印刷しないようにするには?
- 30. 私は、ログファイルからデータを取得し、それを印刷しています
お返事ありがとうございます。私は[DllImport( "user32.dll")]でアプローチを見つけました。 public static extern void keybd_event(バイトbVk、バイトbScan、uint dwFlags、uint dwExtraInfo); –