Skip to content

vurdalakov/clipboarddotnet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClipboardDotNet

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).

Clipboard listener

    var clipboardListener = new ClipboardListener();
    clipboardListener.ClipboardUpdated += (s, e) => Refresh();

CLP file methods

Parse CLP file
    var entries = ClipboardFile.Parse(@"c:\temp\clipboard.clp");

    foreach (var entry in entries)
    {
        Console.WriteLine("{0} {1} {2}", entry.Format, entry.DataSize, entry.Name);
    }
Extract text from CLP file
    var text = ClipboardFile.GetText(@"c:\temp\clipboard.clp");
    if (text != null)
    {
        Console.WriteLine("{0}", text);
    }
Restore Clipboard content from CLP file
    ClipboardFile.Restore(@"c:\temp\clipboard.clp");
Save Clipboard content to CLP file
    ClipboardFile.Save(@"c:\temp\clipboard.clp");

Clipboard methods

Empty Clipboard
    Clipboard.Empty();
Get the Clipboard sequence number
    var sequenceNumber = Clipboard.GetClipboardSequenceNumber();
Get number of available formats
    var count = Clipboard.CountFormats();
Check if format is available
    if (Clipboard.IsFormatAvailable(ClipboardFormats.CF_UNICODETEXT))
    {
        Console.WriteLine("Unicode text is available");
    }
Get available formats
    var entries = Clipboard.GetEntries();

    foreach (var entry in entries)
    {
        Console.WriteLine("{0} {1} {2}", entry.Format, entry.DataSize, entry.Name);
    }
Get available format IDs
    var formats = Clipboard.GetFormats();

    foreach (var format in formats)
    {
        Console.WriteLine("{0}", format);
    }
Get format name
    if (Clipboard.CountFormats() > 0)
    {
        var format = Clipboard.GetFormats()[0];
        var name = Clipboard.GetFormatName(format);
    }
Get format data size
    if (Clipboard.CountFormats() > 0)
    {
        var format = Clipboard.GetFormats()[0];
        var dataSize = Clipboard.GetDataSize(format);
    }
Get format data
    if (Clipboard.CountFormats() > 0)
    {
        var format = Clipboard.GetFormats()[0];
        var data = Clipboard.GetData(format);
        File.WriteAllBytes(@"c:\temp\clipboard.bin", data);
    }
Get text from Clipboard
    var text = Clipboard.GetText();
    Console.WriteLine("{0}", text);
Set format data
    var data = File.ReadAllBytes(@"c:\temp\image.bmp");

    Clipboard.Empty();
    Clipboard.SetData(ClipboardFormats.CF_BITMAP, data);
List all registered Clipboard formats
    for (var id = UInt16.MinValue; id < UInt16.MaxValue; id++)
    {
        var name = Clipboard.GetRegisteredFormatName(id);

        if (name != null)
        {
            Console.WriteLine("{0} {1}", id, name);
        }
    }

About

A .NET library that works with Windows Clipboard and CLP files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages