首页 > 解决方案 > 如何从我的 WPF 中的任何应用程序访问突出显示/选定的文本?

问题描述

每当我按下某个热键时,我都需要能够从 Windows 中的任何其他应用程序访问任何突出显示的文本。

我已经运行了热键部分,但我不知道如何找到当前活动的窗口并获取突出显示的文本。

我也不知道如何使用自己的快捷方式复制 Ctrl+C 事件。

直接抓住突出显示的文本或复制 Ctrl+C 事件 - 两者都将被视为一种解决方案。只要选定的文本进入我的代码。

有谁能够帮我?

标签: c#wpf

解决方案


我最终这样做了:

    private void OnHotKeyHandler(HotKey hotKey)
    {
        WinForms.SendKeys.SendWait("^c");
        System.Threading.Thread.Sleep(1000);
        if (Clipboard.ContainsText())
        {
            var selectedText = Clipboard.GetText();
            Debug.Print(selectedText);
        } else
        {
            Debug.Print("Nothing selected");
        }

    }

我知道编写剪贴板观察程序而不是 1000 毫秒睡眠会更漂亮。我在这里找到了答案: https ://blog.jayway.com/2013/02/06/how-to-get-selected-text-from-another-windows-program/


推荐阅读