gpt4 book ai didi

c# - 如何将任何应用程序的选定文本放入 Windows 窗体应用程序

转载 作者:可可西里 更新时间:2023-11-01 08:47:21 27 4
gpt4 key购买 nike

这就是我想要做的,

当用户通过双击鼠标选择任何正在运行的应用程序的任何单词(文本)时,应将特定突出显示的单词插入到已经运行的 Windows 应用程序中。

到目前为止,我已经使用 Global Keystroke 实现了逻辑,其中用户必须触发 CRT+ C 键盘组合键才能复制所选单词进入 win 表单应用程序。

我想知道的是,有什么方法可以在不按下键盘任何按钮的情况下将这些选定的文本输入到应用程序中?

最佳答案

经过一番阅读,我找到了方法:

  1. 使用 globalmousekeyhook.codeplex.com 之类的东西 Hook 双击事件
  2. (可选)保存剪贴板的当前状态
  3. user32.dll
  4. 使用 GetCursorPos 获取当前鼠标位置
  5. 使用 WindowFromPoint 从光标位置获取窗口user32.dll

    [DllImport("user32.dll")]
    public static extern IntPtr WindowFromPoint(Point lpPoint);

    [DllImport("user32.dll")]
    public static extern bool GetCursorPos(out Point lpPoint);

    public static IntPtr GetWindowUnderCursor()
    {
    Point ptCursor = new Point();

    if (!(PInvoke.GetCursorPos(out ptCursor)))
    return IntPtr.Zero;

    return WindowFromPoint(ptCursor);
    }
  6. 使用 SendMessage 形式发送复制命令 user32.dll(参见 Using User32.dll SendMessage To Send Keys With ALT Modifier )

  7. 你的代码
  8. (可选)恢复步骤 2 中保存的剪贴板内容

关于c# - 如何将任何应用程序的选定文本放入 Windows 窗体应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21460943/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com