Place la fenêtre donnée dans la liste d'écoute du format de presse-papier maintenu par le système
#include <WinAPISys.au3>
_WinAPI_AddClipboardFormatListener ( $hWnd )
$hWnd | Handle de la fenêtre à placer. |
Succès: | Retourne True. |
Échec: | Retourne False, appelez _WinAPI_GetLastError() pour obtenir des informations sur l'erreur. |
Cette fonction nécessite Windows Vista ou une version ultérieure.
Consultez AddClipboardFormatListener dans la librairie MSDN.
#include <Clipboard.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <SendMessage.au3> #include <WinAPISys.au3> #include <WindowsConstants.au3> If Number(_WinAPI_GetVersion()) < 6.0 Then MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Erreur', 'Nécessite Windows Vista ou une version ultérieure.') Exit EndIf Local $hForm = GUICreate('Test '& StringReplace(@ScriptName, '.au3', '()'), 400, 400, 10, 10, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX), $WS_EX_TOPMOST) Global $g_idEdit = GUICtrlCreateEdit('', 0, 0, 400, 400, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY)) GUIRegisterMsg($WM_CLIPBOARDUPDATE, 'WM_CLIPBOARDUPDATE') GUISetState(@SW_SHOW) _WinAPI_AddClipboardFormatListener($hForm) _SendMessage($hForm, $WM_CLIPBOARDUPDATE) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE Func WM_CLIPBOARDUPDATE($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $wParam, $lParam _ClipBoard_Open(0) GUICtrlSetData($g_idEdit, _ClipBoard_GetData($CF_TEXT)) _ClipBoard_Close() Return 0 EndFunc ;==>WM_CLIPBOARDUPDATE