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
Konzept
Referenz