private async void UpdateClipboardListView()
        {
            clipboardHistoryItems.Clear();
            List <ListViewItem>         clipboardTexts = new List <ListViewItem>();
            ClipboardHistoryItemsResult items          = await Clipboard.GetHistoryItemsAsync();

            foreach (ClipboardHistoryItem item in items.Items.Reverse())
            {
                if (item.Content.Contains(DataFormats.Text))
                {
                    string data = await item.Content.GetTextAsync();

                    clipboardTexts.Add(new ListViewItem()
                    {
                        Content = data
                    });
                    clipboardHistoryItems.Add(item);
                }
            }

            ClipboardListView.ItemsSource = clipboardTexts;

            foreach (object item in ClipboardListView.Items)
            {
                ((ListViewItem)item).Style = (Style)FindResource(resourceKey: "ListViewItemStyle");
            }
        }
Beispiel #2
0
        public Clipboard()
        {
            if (!Cp.IsHistoryEnabled())
            {
                Console.WriteLine("[+] Turning on clipboard history feature...");
                try
                {
                    var rk = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Clipboard", true);

                    if (rk == null)
                    {
                        Console.WriteLine(
                            "[!] Clipboard history feature not available on target! Target needs to be at least Win10 Build 1809.\n[!] Exiting...\n");
                        return;
                    }

                    rk.SetValue("EnableClipboardHistory", "1", RegistryValueKind.DWord);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
            }

            Cp.ContentChanged += async(s, e) =>
            {
                DataPackageView dataPackageView = Cp.GetContent();
                foreach (var availableFormat in dataPackageView.AvailableFormats)
                {
                    Console.WriteLine(availableFormat);
                }

                var a = await Cp.GetHistoryItemsAsync();

                var b = a.Items;
                foreach (var it in b)
                {
                    Console.WriteLine(it.Timestamp);
                }

                if (dataPackageView.Contains(StandardDataFormats.Text))
                {
                    string text = await dataPackageView.GetTextAsync();

                    Console.WriteLine(text);
                }
            };
            Cp.HistoryChanged += async(s, e) => { Console.WriteLine("History Changed!"); };
        }