Funktionreferenz


_ClipBoard_GetData

Beschreibung anzeigen in

Ruft die Daten aus der Zwischenablage in einem angegebenen Format ab

#include <Clipboard.au3>
_ClipBoard_GetData ( [$iFormat = 1] )

Parameter

$iFormat [optional] Legt ein Format für die Zwischenablage fest:
$CF_TEXT - Textformat ($iFormat = 1)
$CF_BITMAP - Handle zu einer Bitmap (HBITMAP) ($iFormat = 2)
$CF_METAFILEPICT - Handle zu einem Bild im Format der Zwischendateien (Win16) (METAFILEPICT) ($iFormat = 3)
$CF_SYLK - Microsoft Symbolic Link (SYLK) Format ($iFormat = 4)
$CF_DIF - Software Arts' Data Interchange Format ($iFormat = 5)
$CF_TIFF - Tagged Image File Format ($iFormat = 6)
$CF_OEMTEXT - Textformat mit Zeichen im OEM-Zeichensatz ($iFormat = 7)
$CF_DIB - BITMAPINFO-Struktur gefolgt von den Bitmap Bits ($iFormat = 8)
$CF_PALETTE - Ein (direkter) Handle zu einer Farbpalette, die sich üblicherweise auf ein geräteabhängiges Bitmap (CF_BITMAP) bezieht, d.h. dessen "echte" Farbe festlegen ($iFormat = 9)
$CF_PENDATA - für die Erweiterungen der (mittlerweile durch CE ersetzten) Pen-Variante von Windows ($iFormat = 10)
$CF_RIFF - Audiodateien im RIFF-Format ($iFormat = 11)
$CF_WAVE - Audiodateien im WAVE-Format ($iFormat = 12)
$CF_UNICODETEXT - Unicode-Textformat ($iFormat = 13)
$CF_ENHMETAFILE - Handle zu einer Zwischendatei im neuen "erweiterten" Format (Win32) (HENHMETAFILE) ($iFormat = 14)
$CF_HDROP - Handle zu einer Liste von Dateinamen für "Drag & Drop"-Operationen ($iFormat = 15)
$CF_LOCALE - ist eine zusätzliche Information für ANSI-Texte (CF_TEXT) und gibt an, auf welche landessprachliche Variante sich die Zeichencodes beziehen ($iFormat = 16)
$CF_DIBV5 - ein Speicherobjekt, das eine BITMAPV5HEADER-Struktur gefolgt von der Bitmap-Farbe und den Bitmap-Bits enthält ($iFormat = 17)
$CF_OWNERDISPLAY - Owner Display Format ($iFormat = 0x0080)
$CF_DSPTEXT - Text, dessen Anzeigeformat mit eigenem (private) Format verbunden ist (CF_PRIVATEFIRST, CF_PRIVATELAST) ($iFormat = 0x0081)
$CF_DSPBITMAP - Bitmap, dessen Anzeigeformat mit eigenem (private) Format verbunden ist (CF_PRIVATEFIRST, CF_PRIVATELAST) ($iFormat = 0x0082)
$CF_DSPMETAFILEPICT - Zwischendatei, dessen Anzeigeformat mit eigenem (private) Format verbunden ist (CF_PRIVATEFIRST, CF_PRIVATELAST) ($iFormat = 0x0083)
$CF_DSPENHMETAFILE - Erweiterte Zwischendatei, dessen Anzeigeformat mit eigenem (private) Format verbunden ist (CF_PRIVATEFIRST, CF_PRIVATELAST) ($iFormat = 0x008E)

Rückgabewert

Erfolg: Text für textbasierte Formate oder ein Handle für alle anderen Formate
@extended wird auf das # der Zeichen des Texts oder # der Bytes für binär gesetzt
Fehler: 0

Bemerkungen

Diese Funktion vollzieht alle nötigen Schritte, um Daten aus der Zwischenablage zu holen.
Es wird geprüft ob das Format verfügbar ist, öffnet die Zwischenablage, schließt sie wieder und gibt die Daten in einem der beiden Formate zurück: String format für Datentypen $CF_TEXT, $CF_OEMTEXT oder $CF_UNICODETEXT
oder Binärformat für jeden anderen Typ.
Wenn man die nötigen Schritte lieber selbst übernehmen möchte, sollte die Funktion _ClipBoard_GetDataEx() verwendet werden.

Verwandte Funktionen

_ClipBoard_GetDataEx, _ClipBoard_SetData, _ClipBoard_SetDataEx

Beispiel

#include <Clipboard.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $g_idMemo

Example()

Func Example()
    Local $id_SetData, $id_GetData

    ; Erstellt eine GUI
    GUICreate("Zwischenablage", 600, 450)
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 596, 396, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    $id_SetData = GUICtrlCreateButton("Schreibt Daten in die Zwischenablage", 50, 410, 220, 30)
    $id_GetData = GUICtrlCreateButton("Holt Daten aus der Zwischenablage", 300, 410, 220, 30)
    GUISetState(@SW_SHOW)

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
            Case $id_SetData
                _ClipBoard_SetData("ClipBoard Testdaten")
            Case $id_GetData
                MemoWrite(_ClipBoard_GetData())
        EndSwitch
    WEnd
EndFunc   ;==>Example

; Schreibt eine Nachricht in das Memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite