Freigeben über


SetClipboardData-Funktion (winuser.h)

Platziert Daten in der Zwischenablage in einem angegebenen Zwischenablageformat. Das Fenster muss der aktuelle Besitzer der Zwischenablage sein, und die Anwendung muss die OpenClipboard-Funktion aufgerufen haben. (Wenn er auf die WM_RENDERFORMAT-Nachricht antwortet, darf der Besitzer der Zwischenablage OpenClipboard nicht aufrufen, bevor Er SetClipboardData aufruft.)

Syntax

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

Parameter

[in] uFormat

Typ: UINT

Das Format der Zwischenablage. Dieser Parameter kann ein registriertes Format oder eines der Standardformate der Zwischenablage sein. Weitere Informationen finden Sie unter Standard-Zwischenablageformate und registrierte Zwischenablageformate.

[in, optional] hMem

Typ: HANDLE

Ein Handle für die Daten im angegebenen Format. Dieser Parameter kann NULL sein, was angibt, dass das Fenster auf Anforderung Daten im angegebenen Zwischenablageformat bereitstellt (rendert das Format). 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 Objekt, das durch den hMem-Parameter identifiziert wird. Die Anwendung schreibt möglicherweise nicht mehr in die Daten, sobald der Besitz auf das System übertragen wurde, aber sie kann die Daten sperren und daraus lesen, bis die CloseClipboard-Funktion aufgerufen wird. (Der Arbeitsspeicher muss entsperrt werden, bevor die Zwischenablage geschlossen wird.) Wenn der hMem-Parameter ein Speicherobjekt identifiziert, muss das Objekt mithilfe der Funktion mit dem flag GMEM_MOVEABLE zugeordnet worden sein.

Rückgabewert

Typ: HANDLE

Wenn die Funktion erfolgreich ist, ist der Rückgabewert das Handle für die Daten.

Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

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

Wenn eine Anwendung SetClipboardData als Reaktion auf WM_RENDERFORMAT oder WM_RENDERALLFORMATS aufruft, sollte die Anwendung das Handle nach dem Aufruf von SetClipboardData nicht verwenden.

Wenn eine Anwendung OpenClipboard aufruft, wobei hwnd auf NULL festgelegt ist, legt EmptyClipboard den Besitzer der Zwischenablage auf NULL fest. Dies führt dazu , dass SetClipboardData fehlschlägt.

Das System führt implizite Datenformatkonvertierungen zwischen bestimmten Zwischenablageformaten durch, wenn eine Anwendung die GetClipboardData-Funktion aufruft . Wenn sich beispielsweise das CF_OEMTEXT Format in der Zwischenablage befindet, kann ein Fenster Daten im CF_TEXT Format abrufen. Das Format in der Zwischenablage wird bei Bedarf in das angeforderte Format konvertiert. Weitere Informationen finden Sie unter Synthetisierte 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 (windows.h einschließen)
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