ClipboardDotNet is a .NET library that works with Windows Clipboard and .CLP files.
Project is distributed under the MIT license.
Copyright © 2015 Vurdalakov.
Tools based on this library:
- clipper - yet another Windows Clipboard viewer;
- clip - command-line tool that works with Windows Clipboard;
- clp - command-line tool that saves, restores and parses Windows Clipboard files (.CLP).
var clipboardListener = new ClipboardListener();
clipboardListener.ClipboardUpdated += (s, e) => Refresh();
var entries = ClipboardFile.Parse(@"c:\temp\clipboard.clp");
foreach (var entry in entries)
{
Console.WriteLine("{0} {1} {2}", entry.Format, entry.DataSize, entry.Name);
}
var text = ClipboardFile.GetText(@"c:\temp\clipboard.clp");
if (text != null)
{
Console.WriteLine("{0}", text);
}
ClipboardFile.Restore(@"c:\temp\clipboard.clp");
ClipboardFile.Save(@"c:\temp\clipboard.clp");
Clipboard.Empty();
var sequenceNumber = Clipboard.GetClipboardSequenceNumber();
var count = Clipboard.CountFormats();
if (Clipboard.IsFormatAvailable(ClipboardFormats.CF_UNICODETEXT))
{
Console.WriteLine("Unicode text is available");
}
var entries = Clipboard.GetEntries();
foreach (var entry in entries)
{
Console.WriteLine("{0} {1} {2}", entry.Format, entry.DataSize, entry.Name);
}
var formats = Clipboard.GetFormats();
foreach (var format in formats)
{
Console.WriteLine("{0}", format);
}
if (Clipboard.CountFormats() > 0)
{
var format = Clipboard.GetFormats()[0];
var name = Clipboard.GetFormatName(format);
}
if (Clipboard.CountFormats() > 0)
{
var format = Clipboard.GetFormats()[0];
var dataSize = Clipboard.GetDataSize(format);
}
if (Clipboard.CountFormats() > 0)
{
var format = Clipboard.GetFormats()[0];
var data = Clipboard.GetData(format);
File.WriteAllBytes(@"c:\temp\clipboard.bin", data);
}
var text = Clipboard.GetText();
Console.WriteLine("{0}", text);
var data = File.ReadAllBytes(@"c:\temp\image.bmp");
Clipboard.Empty();
Clipboard.SetData(ClipboardFormats.CF_BITMAP, data);
for (var id = UInt16.MinValue; id < UInt16.MaxValue; id++)
{
var name = Clipboard.GetRegisteredFormatName(id);
if (name != null)
{
Console.WriteLine("{0} {1}", id, name);
}
}