別のアプリケーションにキーストロークを送信したいと思います。たとえば、ブラウザを開いたので、メモ帳ウィンドウを対象とせずにメモ帳アプリケーションを開いた状態でキーストロークを書きたいと思う。私は、ブラウザのウィンドウが常にアクティブであることを望みます。c#別のアプリケーションへのキーアクセス
可能ですか?
別のアプリケーションにキーストロークを送信したいと思います。たとえば、ブラウザを開いたので、メモ帳ウィンドウを対象とせずにメモ帳アプリケーションを開いた状態でキーストロークを書きたいと思う。私は、ブラウザのウィンドウが常にアクティブであることを望みます。c#別のアプリケーションへのキーアクセス
可能ですか?
Windows APIを使用している場合は、正しく動作することが保証されている唯一のものはSendInput
です。フォーカスされたウィンドウでのみ実行できます。他のウィンドウでは、WM_KEYUP
、WM_KEYDOWN
、WM_CHAR
とSendMessage
を使用できますが、かなり信頼性がありません。また、アプリケーションがこれを行うのは、通常は望ましくない動作です。あなたが本当に実行しているWindowsアプリケーションへWebブラウザからキーストロークを送信するわけない場合
それは私が欲しいものです。 – user852421
このは可能ではない必要があります。
理由は、ウェブブラウザがOSや他の実行中のアプリケーションからサンドボックスされていて、インターネットを介して悪意のあるユーザーのコンピュータに悪影響を与えるのを防ぐためです。
これが可能だった場合、セキュリティホールのように聞こえます。メモ帳に書き込む代わりに、cmdウィンドウに書き込んでドライブを再フォーマットすることもできます。 –