CTRLC#を使用して+Vキー(貼り付け) をシミュレートするにはどうすればよいですか?
アクセス用のIDがないテキストボックスがあります。たとえば、textbox1.Text = someValue
ここでは機能しません。
そのテキストボックス(クリップボードから)をクリックして入力したいと思います。いくつかの理由で、simulate CTRL+が必要です。つまり、 inputsimulatorVのような外部ライブラリを使用することはできません。
CTRLC#を使用して+Vキー(貼り付け) をシミュレートするにはどうすればよいですか?
アクセス用のIDがないテキストボックスがあります。たとえば、textbox1.Text = someValue
ここでは機能しません。
そのテキストボックス(クリップボードから)をクリックして入力したいと思います。いくつかの理由で、simulate CTRL+が必要です。つまり、 inputsimulatorVのような外部ライブラリを使用することはできません。
キャラクターvsキー
%
=> alt
、+
=>shift
そしてキー^
を送信するためにctrl
元の回答:
単一の修飾キーと別のキーのシミュレーションについては、以下で説明します。
ステップ1 : 2つのキーを実行するtextBoxにフォーカスし、ステップ2:たとえばcontrol-vのようにキーを送信します"^{v}"
。これがコードです
target_textBox.Focus();
SendKeys.Send("^{v}");
target_textBox.Focus();
キーの送信時にターゲットテキストボックスがフォーカスされていない場合にのみ必要です
更新:達成したい3つのキー(2つの変更キーと他のキー)を送信するctrl shift F1
には、次のように送信します
^+{F1}
イベントが呼び出されたときよりもTextBoxOnClickイベントをオーバーライドして、TextプロパティをClipboard.GetText()に設定してみませんか。
好き:
private void textBox1_Click ( object sender, EventArgs e )
{
textBox1.Text = Clipboard.GetText ();
}
この関数はすでに組み込まれています:TextBoxBase.Paste()
textbox1.Paste();
一部のJSは、通常の方法で値を変更することを許可していません
inputList[21].SetAttribute("value", txtEMail.Text);
次のようなことを試してください。
inputElement.InvokeMember("focus");
inputElement.InvokeMember("click"); //sometimes helpfull
Clipboard.SetDataObject(txtEMail.Text);
SendKeys.Send("^(v)");
//「^{v}」ではありません