如何从WPF中的任何应用程序访问突出显示/选定的文本?

时间:2019-04-17 08:49:54

标签: c# wpf

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

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

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

直接捕获突出显示的文本或复制Ctrl + C事件-两者都将被视为解决方案。只要选定的文本包含在我的代码中即可。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我最终是这样的:

    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/