如何将文本插入光标焦点

发布于 2024-07-11 14:23:09 字数 99 浏览 5 评论 0原文

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

I am developing a .NET windows app that needs to insert text in the place where the cursor is. The cursor will be in a different application that I have no control over. I think the operating system needs to be used here to achieve this. Can you help please?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绿光 2024-07-18 14:23:09

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

找到窗口句柄:

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

Put the text you want to insert into the clipboard

Find the window's handle:

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

Send a "Ctrl+V" message to the window using pinvoke, see http://www.pinvoke.net/default.aspx/user32.SendMessage

弱骨蛰伏 2024-07-18 14:23:09

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

否则,请使用 Windows api 中的 SendMessage 逐个按键发送 (一些信息)。

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

The most easy is to use the SendKeys class on Windows.Forms.

Otherwise use the SendMessage from the windows api to send key by key (some information on this).

Do not use the clipboard, the user typically does not want that, and does not expect that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文