如何调用低级KeyHook组合键?

时间:2011-10-26 12:07:03

标签: c#

我真的无法解决这个问题,甚至不知道,如果可能的话。

我想使用 CTRL + C CTRL + V 快捷方式。

示例:有2个应用程序。 1.应用程序是用C#编写的,2。App是一个Java-Applet。 我想从C#App复制字符串。并将其粘贴到Java-Applet中的聚焦文本框中。

我将字符串复制到剪贴板中,我需要将其粘贴到Java-Applet中的聚焦文本框中。

string data = "12345";
Clipboard.SetData(DataFormats.Text, (Object)data);

现在我需要将此信息粘贴到Applet中的文本框中。

如何在C#中调用CTRL + V快捷方式?

是否可以做类似的事情?

谢谢!

2 个答案:

答案 0 :(得分:5)

另一个选择是使用InputSimulator,这是一个非常灵活(可靠)的包装器,能够模拟键盘和鼠标事件。

它封装了引擎盖下的SendInput,但抽象出了所有PInvoke调用和其他复杂性。这是DLL的一个下降(对于你的情况)应该只需要几行代码。

InputSimulator.SimulateKeyDown(VirtualKeyCode.CTRL);
InputSimulator.SimulateKeyPress(VirtualKeyCode.KEYS_V);
InputSimulator.SimulateKeyUp(VirtualKeyCode.CTRL);

InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_C); 

答案 1 :(得分:2)

有关使用How to: Simulate Mouse and Keyboard Events in Code向其他应用程序发送击键的示例,请参阅SendKeys