在uwp应用程序的后台监听剪贴板更改?

时间:2016-01-10 19:14:37

标签: c# service clipboard win-universal-app

我一直在寻找一种在通用Windows平台应用程序中监听剪贴板更改的方法。我希望能够拥有一个在后台运行的服务,无论应用程序状态如何,它都会监听剪贴板更改。我一直在搜索,但似乎uwp没有像android这样的服务类。

提前致谢,

赛斯

2 个答案:

答案 0 :(得分:0)

这很简单,你可以这样:

Clipboard.ContentChanged += (s, e) => 
{
    DataPackageView dataPackageView = Clipboard.GetContent();
    if (dataPackageView.Contains(StandardDataFormats.Text))
    {
        string text = await dataPackageView.GetTextAsync();
        // To output the text from this example, you need a TextBlock control
        TextOutput.Text = "Clipboard now contains: " + text;
    }
}

有关详情,请阅读MSDN - Copy and paste

答案 1 :(得分:0)

  

在通用Windows平台应用程序中监听剪贴板更改。

不支持在UWP应用中侦听剪贴板更改。

即使前台进程暂停,您也需要使用后台任务来监视系统。以下是所有支持的系统触发器的列表。

https://msdn.microsoft.com/EN-US/library/windows/apps/windows.applicationmodel.background.systemtriggertype.aspx

BackgroundTask触发器不支持剪贴板事件。