実現したいこと
C#勉強中の初心者です。
とある条件に達した際に他ソフトに対しショートカットキーで特定の操作を行いたく、
キーボード上で任意のショートカットキーが押されたという処理を作りたいのですが、検索で出てきた「SendKeys.Send("任意のキー");」という処理では実現できませんでした。
対象へのフォーカス云々あるとは思いますが、今回はそもそも対象物がフォーカスがあっていなくてもショートカットキーを受け付けるようにできており、他フォーム上などで該当のショートカットキー押下ではきちんと反応するため、キーが押されたという処理さえ正しく実行できれば動くとは思うのですが、SendKeysではただしく動きませんでした。
こちら解決策分かる方、ご教授お願いいたします。
C#
visualstudio:Windowsフォーム
発生している問題・分からないこと
例えばCtrl+Aという処理の場合以下を試しましたが、反応しません。
SendKeys.Send("^(A)");
SendKeys.Send("^A");
該当のソースコード
C#
1if(とある条件) 2{ 3//キーが押されたことにする 4SendKeys.Send("^(A)"); 5 }
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
どの記事もSendKeysを推奨しており、これでできるはずのようです。
補足
様々な組み合わせを試しましたが、どれも反応しませんでした。
フォームにテキストボックスを作って、テキストボックスにフォーカスを合わせた際は任意の文字が入力されているので、現在のやり方では自フォームを対象にしたキー操作?しかできないのでしょうか?
回答2件
あなたの回答
tips
プレビュー