Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何模拟CTRL+;使用C进行V击键(粘贴)#_C#_Html_Winforms_Paste - Fatal编程技术网

C# 如何模拟CTRL+;使用C进行V击键(粘贴)#

C# 如何模拟CTRL+;使用C进行V击键(粘贴)#,c#,html,winforms,paste,C#,Html,Winforms,Paste,如何使用C#模拟CTRL+V键(粘贴) 我有一个没有访问id的文本框,例如textbox1.Text=someValue在这里不起作用。 我想通过点击这个文本框(从剪贴板)来填充它。由于某些原因,我们确实需要模拟CTRL+V,这意味着我们不能使用像这样的外部库 字符与键 %=>alt,+=>shift和^用于发送ctrl键 原始答案: 下面将解释使用另一个键模拟单个修改器键 第1步:聚焦文本框,您要在其上执行两个键,然后第2步:发送键,例如control-v将像“^{v}”一样发送。这是密码 t

如何使用C#模拟CTRL+V键(粘贴)

我有一个没有访问id的文本框,例如
textbox1.Text=someValue
在这里不起作用。
我想通过点击这个文本框(从剪贴板)来填充它。由于某些原因,我们确实需要模拟CTRL+V,这意味着我们不能使用像这样的外部库

字符与键

%
=>
alt
+
=>
shift
^
用于发送
ctrl

原始答案:

下面将解释使用另一个键模拟单个修改器键 第1步:聚焦文本框,您要在其上执行两个键,然后第2步:发送键,例如control-v将像
“^{v}”
一样发送。这是密码

target_textBox.Focus();
SendKeys.Send("^{v}");
target_textBox.Focus()

更新:要发送三个键(两个修改键加上另一个键),要实现
ctrl-shift F1
,您将发送以下内容

^+{F1}


为什么不在单击事件时重写TextBox,而在调用该事件时,将Text属性设置为Clipboard.GetText()

比如:


此功能已内置于:


有些JS不允许以常规方式更改值

inputList[21].SetAttribute("value", txtEMail.Text);
您应该尝试以下方法:

inputElement.InvokeMember("focus");
inputElement.InvokeMember("click"); //sometimes helpfull
Clipboard.SetDataObject(txtEMail.Text);
SendKeys.Send("^(v)");

//但不是“^{v}”

需要更多信息-您能够对文本框进行子类化吗?您是在Silverlight、WinForms还是WPF?为什么您无法获取对文本框的引用?@Alex G我正在winform中使用webbrowser控件,在导航到特定页面后,我无法通过其id访问webbrowser中的目标文本框。如果您的文本框位于webbrowser中,这根本不是winforms问题,而是关于HTML脚本的问题。您如何找到文本框?你能找到文本框窗口的句柄吗?这将是一种比模拟击键更好的插入文本的方法。我通过模拟鼠标位置点击文本框,然后点击。我真的很想学习如何用c语言模拟ctrl+v亲爱的Jonathan Wood谢谢你的回答亲爱的Sami,关于shift+home和shift+end呢?@MoonLight-这里有一个链接,其中包含了关于所有不同组合的有用信息。如果你说的是发送那些钥匙,那么我想,
“+{home}”
“+{end}”
会起作用的。我想投票支持你,因为我知道了一件我不知道的事情,但很抱歉这对我不起作用,你试过了吗?你把它添加到文本框的点击事件了吗?很抱歉,我错过了作业,只是使用了
Clipboard.GetText()
但现在它可以处理任何事件(不仅仅是单击事件)。。
inputList[21].SetAttribute("value", txtEMail.Text);
inputElement.InvokeMember("focus");
inputElement.InvokeMember("click"); //sometimes helpfull
Clipboard.SetDataObject(txtEMail.Text);
SendKeys.Send("^(v)");