UDF > Clipboard >


_ClipBoard_GetDataEx

Récupère les données du presse-papiers dans un format spécifié

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

Paramètre

$iFormat [optionnel] Spécifie un format de presse-papiers:
$CF_TEXT - Format texte
$CF_BITMAP - Handle d'une image bitmap (HBITMAP)
$CF_METAFILEPICT - Handle d'un métafichier d'image (METAFILEPICT)
$CF_SYLK - Format Microsoft Symbolic Link (SYLK)
$CF_DIF - Format Data Interchange de Software Arts
$CF_TIFF - Format Tagged Image File
$CF_OEMTEXT - Format texte contenant des caractères dans le jeu de caractères OEM
$CF_DIB - Structure de BITMAPINFO suivie par les bits du bitmap
$CF_PALETTE - Handle d'une palette de couleurs
$CF_PENDATA - Données pour les extensions de crayon à Pen Computing
$CF_RIFF - Représente les données audio au format RIFF
$CF_WAVE - Représente les données audio au format WAVE
$CF_UNICODETEXT - Format texte Unicode
$CF_ENHMETAFILE - Handle d'un métafichier étendu (HENHMETAFILE)
$CF_HDROP - Handle d'un type HDROP qui identifie une liste de fichiers
$CF_LOCALE - Handle d'un identifiant de paramètres régionaux associés au texte du presse-papiers
$CF_DIBV5 - Structure BITMAPV5HEADER suivie par les couleurs du bitmap et des bits du bitmap
$CF_OWNERDISPLAY - Format d'affichage propriétaire
$CF_DSPTEXT - Format d'affichage de texte associé à un format privé
$CF_DSPBITMAP - Format d'affichage de bitmap associé à un format privé
$CF_DSPMETAFILEPICT - Format d'affichage de métafichier d'image associé à un format privé
$CF_DSPENHMETAFILE - Format d'affichage de métafichier amélioré associé à un format privé

Valeur de retour

Succès: Retourne le handle de l'objet presse-papiers dans le format spécifié
Échec: Retourne 0

Remarque

Le presse-papiers contrôle le handle que la fonction _ClipBoard_GetData() retourne, pas l'application.
Vous devez copier immédiatement les données. L'application ne doit pas libérer le handle ni le verrouiller.
L'application ne doit pas utiliser le handle après des appels des fonctions _ClipBoard_Empty() ou _ClipBoard_Close(), or aprés l'appel de la fonction _ClipBoard_SetData() avec le même format de presse-papiers.

En relation

_ClipBoard_GetData, _ClipBoard_SetData

Voir aussi

Consultez GetClipboardData dans la Librairie MSDN.

Exemple

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

Global $g_idMemo

Example()

Func Example()
    Local $hGUI, $id_SetData, $id_GetData, $hMemory, $tData

    ; Crée une GUI
    $hGUI = GUICreate("Clipboard", 600, 450)
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 596, 396, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    $id_SetData = GUICtrlCreateButton("Set ClipBoard Data", 150, 410, 120, 30)
    $id_GetData = GUICtrlCreateButton("Get ClipBoard Data", 300, 410, 120, 30)
    GUISetState(@SW_SHOW)

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Local $iMsg
    Do
        $iMsg = GUIGetMsg()
        Switch $iMsg
            Case $id_SetData
                _ClipBoard_SetData("ClipBoard Library")
            Case $id_GetData
                ; Ouvre le presse-papiers
                If _ClipBoard_Open($hGUI) Then
                    ; Lit le texte du presse-papiers
                    $hMemory = _ClipBoard_GetDataEx($CF_TEXT)
                    If $hMemory = 0 Then _WinAPI_ShowError("_ClipBoard_GetDataEx a échoué")
                    $tData = DllStructCreate("char Text[8192]", $hMemory)
                    MemoWrite(DllStructGetData($tData, "Text"))

                    ; Ferme le presse-papiers
                    _ClipBoard_Close()
                Else
                    _WinAPI_ShowError("_ClipBoard_Open a échoué")
                EndIf
        EndSwitch
    Until $iMsg = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

; Ecrit un message dans memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite