SharpClipboard 2.0.0
See the version list below for details.
dotnet add package SharpClipboard --version 2.0.0
NuGet\Install-Package SharpClipboard -Version 2.0.0
<PackageReference Include="SharpClipboard" Version="2.0.0" />
paket add SharpClipboard --version 2.0.0
#r "nuget: SharpClipboard, 2.0.0"
// Install SharpClipboard as a Cake Addin #addin nuget:?package=SharpClipboard&version=2.0.0 // Install SharpClipboard as a Cake Tool #tool nuget:?package=SharpClipboard&version=2.0.0
SharpClipboard
SharpClipboard is a clipboard-monitoring library for .NET that listens to the system's clipboard entries, allowing developers to tap into the rich capabilities of determining the clipboard's contents at runtime.
Features
Here's a comprehensive list of the features available:
- Built as a component making it accessible in Design Mode.
- Silently monitors the system clipboard uninterrupted; can also be disabled while running.
- Ability to detect clipboard content in various formats, namely text, images, files, and other complex types.
- Option to control the type of content to be monitored, e.g. text only, text and images only.
- Ability to capture the background application's details from where the clipboard's contents were cut/copied.
For example:
private void ClipboardChanged(Object sender, SharpClipboard.ClipboardChangedEventArgs e) { // Gets the application's executable name. Debug.WriteLine(e.SourceApplication.Name); // Gets the application's window title. Debug.WriteLine(e.SourceApplication.Title); // Gets the application's process ID. Debug.WriteLine(e.SourceApplication.ID.ToString()); // Gets the application's executable path. Debug.WriteLine(e.SourceApplication.Path); }
Usage
If you prefer working with the Designer, simply add the library to Visual Studio's Toolbox and use the Properties window to change its options:
To use it in code, first import WK.Libraries.SharpClipboardNS
- the code below will then assist you:
var clipboard = new SharpClipboard();
// Attach your code to the ClipboardChanged event to listen to cuts/copies.
clipboard.ClipboardChanged += ClipboardChanged;
private void ClipboardChanged(Object sender, ClipboardChangedEventArgs e)
{
// Is the content copied of text type?
if (e.ContentType == SharpClipboard.ContentTypes.Text)
{
// Get the cut/copied text.
Debug.WriteLine(clipboard.ClipboardText);
}
// Is the content copied of image type?
else if (e.ContentType == SharpClipboard.ContentTypes.Image)
{
// Get the cut/copied image.
Image img = clipboard.ClipboardImage;
}
// Is the content copied of file type?
else if (e.ContentType == SharpClipboard.ContentTypes.Files)
{
// Get the cut/copied file/files.
Debug.WriteLine(clipboard.ClipboardFiles.ToArray());
// ...or use 'ClipboardFile' to get a single copied file.
Debug.WriteLine(clipboard.ClipboardFile);
}
// If the cut/copied content is complex, use 'Other'.
else if (e.ContentType == SharpClipboard.ContentTypes.Other)
{
// Do something with 'e.Content' here...
}
}
You can also get the details of the application from where the clipboard's contents were cut/copied from using the ClipboardChanged
argument property SourceApplication
:
private void ClipboardChanged(Object sender, SharpClipboard.ClipboardChangedEventArgs e)
{
// Gets the application's executable name.
Debug.WriteLine(e.SourceApplication.Name);
// Gets the application's window title.
Debug.WriteLine(e.SourceApplication.Title);
// Gets the application's process ID.
Debug.WriteLine(e.SourceApplication.ID.ToString());
// Gets the application's executable path.
Debug.WriteLine(e.SourceApplication.Path);
}
This option could come in handy especially when you're building a clipboard-monitoring application where users may feel the need to know where every recorded cut/copy action occurred.
To manually parse the content after a cut/copy has been detected, you can use the argument property e.Content
in the ClipboardChanged
event:
private void ClipboardChanged(Object sender, ClipboardChangedEventArgs e)
{
// For texts...
string text = e.Content.ToString();
// or images...
Image img = (Image)e.Content;
// or files...
List<string> files = (List<string>)e.Content;
// or other complex types too.
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net is compatible. |
This package has no dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on SharpClipboard:
Package | Downloads |
---|---|
VL.HDE
Provides access to the vvvv UI API |
GitHub repositories (7)
Showing the top 5 popular GitHub repositories that depend on SharpClipboard:
Repository | Stars |
---|---|
kannagi0303/yt-dlp-gui
Windows GUI for yt-dlp
|
|
Bluegrams/Vividl
Modern Windows GUI for youtube-dl/ yt-dlp
|
|
killkimno/MORT
MORT 번역기 프로젝트 - Real-time game translator with OCR
|
|
C1rdec/Poe-Lurker
Ease your trading experience in Path of Exile.
|
|
Idered/snatch
📋 Beautiful clipboard manager for Windows
|
Initial v2.0.0 release