SetClipboardData-Funktion (winuser.h)

Platziert Daten in der Zwischenablage in einem angegebenen Zwischenablageformat. Das Fenster muss der aktuelle Zwischenablagebesitzer sein, und die Anwendung muss die OpenClipboard-Funktion aufgerufen haben. (Wenn Sie auf die WM_RENDERFORMAT Nachricht reagieren, darf der Zwischenablagebesitzer vor dem Aufrufen von SetClipboardData nicht OpenClipboard aufrufen.)

Syntax

HANDLE SetClipboardData(
  [in]           UINT   uFormat,
  [in, optional] HANDLE hMem
);

Parameter

[in] uFormat

Typ: UINT

Das Zwischenablageformat. Dieser Parameter kann ein registriertes Format oder ein beliebiges der Standardablageformate sein. Weitere Informationen finden Sie unter Standardablageformate und registrierte Zwischenablageformate.

[in, optional] hMem

Typ: HANDLE

Ein Handle an die Daten im angegebenen Format. Dieser Parameter kann NULL sein, der angibt, dass das Fenster Daten im angegebenen Zwischenablageformat (rendert das Format) auf Anforderung bereitstellt; dies wird als verzögertes Rendering bezeichnet. Wenn das Rendern eines Fensters verzögert wird, muss es die WM_RENDERFORMAT und WM_RENDERALLFORMATS Nachrichten verarbeiten.

Wenn SetClipboardData erfolgreich ist, besitzt das System das vom hMem-Parameter identifizierte Objekt. Die Anwendung schreibt möglicherweise nicht in oder frei, sobald der Besitz an das System übertragen wurde, aber es kann die Daten sperren und lesen, bis die CloseClipboard-Funktion aufgerufen wird. (Der Speicher muss entsperrt werden, bevor die Zwischenablage geschlossen wird.) Wenn der hMem-Parameter ein Speicherobjekt identifiziert, muss das Objekt mithilfe der Funktion mit dem GMEM_MOVEABLE-Flag zugewiesen worden sein.

Rückgabewert

Typ: HANDLE

Wenn die Funktion erfolgreich verläuft, ist der Rückgabewert der Handle für die Daten.

Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Bemerkungen

Windows 8: Bitmaps, die für Windows Store-App-Apps freigegeben werden sollen, müssen im CF_BITMAP-Format (geräteabhängige Bitmap) enthalten sein.

Wenn eine Anwendung SetClipboardData als Reaktion auf WM_RENDERFORMAT oder WM_RENDERALLFORMATS aufruft, sollte die Anwendung den Handle nicht verwenden, nachdem SetClipboardData aufgerufen wurde.

Wenn eine Anwendung OpenClipboard mit Hwnd auf NULL aufruft, legt EmptyClipboard den Zwischenablagebesitzer auf NULL fest; Dies bewirkt, dass SetClipboardData fehlschlägt.

Das System führt implizite Datenformatkonvertierungen zwischen bestimmten Zwischenablageformaten aus, wenn eine Anwendung die GetClipboardData-Funktion aufruft. Wenn sich das CF_OEMTEXT-Format beispielsweise auf der Zwischenablage befindet, kann ein Fenster Daten im CF_TEXT-Format abrufen. Das Format auf der Zwischenablage wird in das angeforderte Format nach Bedarf konvertiert. Weitere Informationen finden Sie unter "Synthesized Zwischenablageformate".

Beispiele

Ein Beispiel finden Sie unter Kopieren von Informationen in die Zwischenablage.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (enthalten Windows.h)
Bibliothek User32.lib
DLL User32.dll
APIs ext-ms-win-ntuser-misc-l1-2-0 (eingeführt in Windows 8.1)

Weitere Informationen

Zwischenablage

CloseClipboard

Konzept

GetClipboardData

OpenClipboard

Referenz

RegisterClipboardFormat

WM_RENDERALLFORMATS

WM_RENDERFORMAT