K
Kanonenfutter
Wie kann ich einen String oder andere Datentypen in der Zwischenablage ablegen und danach abrufen?
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature currently requires accessing the site using the built-in Safari browser.
..
using System.Runtime.InteropServices;
..
public class MeineKlasse : System.Windows.Forms.Form
{
[DllImport("user32.dll",EntryPoint="SetClipboardViewer")]
public static extern int SetClipboardViewer(int hWndNewViewer);
...
public MeineKlasse()
{
...
SetClipboardViewer((int) this.Handle);
...
}
protected override void WndProc(ref Message m)
{
const int WM_DRAWCLIPBOARD = 0x308;
if (m.Msg == WM_DRAWCLIPBOARD)
{
CheckClipboard(); // Hier sollte der Code stehen,
// der bei Änderungen der Zwischenablage ausgeführt wird
}
else
{
base.WndProc(ref m);
}
}
...
}
string[] NativeDataTypes = Clipboard.GetDataObject().GetFormats(false);
foreach (string ndt in NativeDataTypes)
{
if ((ndt == DataFormats.Dib)
||(ndt == DataFormats.Dif)
|| (ndt == DataFormats.Tiff)
|| (ndt == DataFormats.Bitmap))
{ // Eine Bitmap in der Zwischenablage...
Bitmap bmp = (Bitmap) Clipboard.GetDataObject().GetData(DataFormats.Bitmap);
}
if (ndt == DataFormats.Text)
{ // Text in der Zwischenablage
string txt = (string) Clipboard.GetDataObject().GetData(DataFormats.Text);
}
}