J'essaie tant bien que mal de comprendre les fonctions de clipboard.au3
Je souhaiterais dans un premier temps extraire les images de mon presse-papiers.
Je copie au préalable du texte et une image à partir d'un site internet.
J'appuie sur F7 pour afficher le contenu du presse-papiers.
J'appuie sur F8 pour tenter d'afficher le contenu bitmap.
J'arrive à voir qu'il y a du contenu bitmap mais je ne sais pas comment afficher sa "valeur" en binaire.
Pourriez-vous m'apporter un peu d'aide ?
#include <Clipboard.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>
#include <MsgBoxConstants.au3>
#include <SendMessage.au3>
#include <WinAPISys.au3>
#include <WindowsConstants.au3>
#include <_Perso.au3>
#EndRegion Includes
#Region Variables
Global $g_aFormat[0]
Global $g_vText, $g_vBitmap
Global $g_idEdit = 0
#EndRegion Variables
HotKeySet('{F7}', "CopyToClipboard")
HotKeySet('{F8}', "PasteFromClipboard")
Main()
Func Main()
_Singleton(@ScriptName, 0)
Local $hForm = GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 400, 400, 10, 10, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX), $WS_EX_TOPMOST)
$g_idEdit = GUICtrlCreateEdit('', 0, 0, 400, 400, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY))
GUISetState(@SW_SHOW)
_WinAPI_AddClipboardFormatListener($hForm)
_SendMessage($hForm, $WM_CLIPBOARDUPDATE)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>Main
Func CopyToClipboard()
ReDim $g_aFormat[0][2]
Local $iFormat = 0, $iCount = 0
_ClipBoard_Open(0)
MemoWrite("Clipboard formats : " & _ClipBoard_CountFormats())
Do
$iFormat = _ClipBoard_EnumFormats($iFormat)
If $iFormat <> 0 Then
$iCount += 1
MemoWrite("Clipboard format " & $iCount & " : " & _ClipBoard_FormatStr($iFormat))
Switch $iFormat
Case $CF_TEXT
$g_vText = _ClipBoard_GetData($iFormat)
Case $CF_BITMAP
$g_vBitmap = _ClipBoard_GetData($iFormat)
EndSwitch
;~ _ArrayAdd($g_aFormat, $iFormat, _ClipBoard_GetData($iFormat))
EndIf
Until $iFormat = 0
;~ For $i = 0 To UBound($g_aFormat) - 1
;~ MemoWrite(_ClipBoard_FormatStr($g_aFormat[$i][0]) & @CRLF & $g_aFormat[$i][1] & @CRLF & @CRLF)
;~ Next
_ClipBoard_Close()
EndFunc ;==>CopyToClipboard
Func PasteFromClipboard()
;~ _ClipBoard_SetData($g_vText, $CF_TEXT)
_ClipBoard_SetData($g_vBitmap, $CF_BITMAP)
MemoWrite($g_vBitmap & @CRLF)
EndFunc ;==>PasteFromClipboard
Func MemoWrite($sMessage = "")
GUICtrlSetData($g_idEdit, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite