[DllImport("user32.dll")]
static extern uint EnumClipboardFormats(uint format);
None.
None.
Please add some!
//Displays the id and name of the all the different data formats currently in the clipboard.
//Create a project called ClipBoardTest, a form called Form1 and add two buttons (button1, button2) and two listboxes (listbox1, listbox2).
//Clicking button1 will copy the id and name of all the clipboard formats in the clipboard to listbox1.
//Clicking button2 will copy everything from listbox1 to listbox2. This is useful if you want to
//compare the clipboard formats used by two different applications.
using System;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace ClipBoardTest
{
public partial class Form1 : Form
{
[DllImport("user32.dll")]
static extern uint EnumClipboardFormats(uint format);
[DllImport("user32.dll")]
static extern bool OpenClipboard(IntPtr hWndNewOwner);
[DllImport("user32.dll")]
static extern bool CloseClipboard();
[DllImport("user32.dll")]
static extern int GetClipboardFormatName(uint format, [Out] StringBuilder lpszFormatName, int cchMaxCount);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
OpenClipboard(Handle);
listBox1.Items.Clear();
uint LastRetrievedFormat = 0;
while (0 != (LastRetrievedFormat = EnumClipboardFormats(LastRetrievedFormat)))
{
String Description = "[" + LastRetrievedFormat.ToString() + "] \t" + GetClipboardFormatName(LastRetrievedFormat);
listBox1.Items.Add(Description);
}
CloseClipboard();
}
private String GetClipboardFormatName(uint ClipboardFormat)
{
StringBuilder sb = new StringBuilder();
GetClipboardFormatName(ClipboardFormat, sb, 1000);
return sb.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
listBox2.Items.Clear();
foreach (var Item in listBox1.Items)
{
listBox2.Items.Add(Item);
}
}
}
}
Do you know one? Please contribute it!