如何从 C# 中的剪贴板历史记录中获取所有数据的列表?

问题描述

我想从剪贴板历史中获取所有数据的列表,但找不到枚举器方法。会不会有我遗漏的东西或者我可以用什么其他方式来做?我在剪贴板类中找不到枚举器方法

dfs

解决方法

通过将剪贴板类从 WinRT API 引用到我的 WPF 应用程序,我能够获取剪贴板历史记录。

using Clipboard = Windows.ApplicationModel.DataTransfer.Clipboard;

Task.Run(async () => {
    var items = await Clipboard.GetHistoryItemsAsync();
    foreach (var item in items.Items)
    {
        string data = await item.Content.GetTextAsync();
        MessageBox.Show(data);
    }
});

我还必须将我的目标框架设置为具有 TFM 版本的 .NET 5.0,并且不需要任何 NuGet 包就可以正常工作。在 .NET 的早期版本上,您将需要 Microsoft.Windows.SDK.Contracts NuGet 包。

<TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>