我有一个表格,已在剪贴板中复制了文本,现在我的要求是在设置剪贴板数据后,如果我在另一个应用程序(如记事本)中单击, 数据粘贴在那里。
private void ListView1_EPC_Click(object sender, EventArgs e)
{
string str = ListView1_EPC.SelectedItems[0].SubItems[1].Text;
Clipboard.SetText(str);
}
提前谢谢。
答案 0 :(得分:0)
这是可能的:您可以将鼠标悬停在系统范围内。这已经在C#中实现,请看这里... https://www.codeproject.com/Articles/7294/Processing-Global-Mouse-and-Keyboard-Hooks-in-C 该项目为全局鼠标按下提供了一个简单事件(GlobalEventProvider组件)。然后,您需要做的就是在触发鼠标按下时使用SendKeys发送ctrl-v。
public class ForeignWindowPasteHelper
{
private readonly GlobalEventProvider eventProvider = new GlobalEventProvider();
public ForeignWindowPasteHelper()
{
this.eventProvider.MouseClick += this.GlobalMouseDown;
}
private void GlobalMouseDown(object sender, MouseEventArgs e)
{
SendKeys.Send("^{v}");
}
}
这将在每次按键时触发Cntrl + V(插入)。当需要触发时,您将需要实现一些逻辑。但这并不难。