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

Global $iMemo

_Main()

Func _Main()
	Local $hGUI

	; Создаёт GUI
	$hGUI = GUICreate("Clipboard", 600, 400)
	$iMemo = GUICtrlCreateEdit("", 2, 2, 596, 396, $WS_VSCROLL)
	GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
	GUISetState()

	; Открывает буфер обмена
	If _ClipBoard_Open($hGUI) Then

		ShowData($hGUI)

		; Закрывает буфер обмена
		_ClipBoard_Close()
	Else
		_WinAPI_ShowError("Ошибка функции _ClipBoard_Open")
	EndIf

	; Цикл выполняется, пока окно не будет закрыто
	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE

EndFunc   ;==>_Main

; Показывает статистику буфера обмена
Func ShowData($hGUI)
	MemoWrite("Дескриптор GUI ........: " & $hGUI)
	MemoWrite("Владелец буфера .......: " & _ClipBoard_GetOwner())
	MemoWrite("Окно открывшее буфер ..: " & _ClipBoard_GetOpenWindow())
	MemoWrite("Clipboard sequence ....: " & _ClipBoard_GetSequenceNumber())
	MemoWrite()
EndFunc   ;==>ShowData

; Записывает строку в элемент для заметок
Func MemoWrite($sMessage = "")
	GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite