如何将文本注入光标焦点

时间:2009-01-16 14:05:06

标签: c# interop cursor

我正在开发一个.NET窗口应用程序,需要在光标所在的位置插入文本。光标将位于我无法控制的其他应用程序中。我认为这里需要使用操作系统来实现这一目标。你能帮忙吗?

2 个答案:

答案 0 :(得分:2)

将要插入的文本放入剪贴板

找到窗口的句柄:

Process[] processes = Process.GetProcessesByName("notepad");
foreach (Process p in processes)
{
    IntPtr pFoundWindow = p.MainWindowHandle;
    // Do something with the handle...
}

使用pinvoke向窗口发送“Ctrl + V”消息,请参阅http://www.pinvoke.net/default.aspx/user32.SendMessage

答案 1 :(得分:0)

最简单的方法是在Windows.Forms上使用SendKeys类。

否则,请使用windows api中的SendMessage按键发送密钥(some information)。

不要使用剪贴板,用户通常不希望这样,并且不期望这样。