_ClipBoard_GetDataEx
Возвращает данные буфера обмена в указанном формате
#include <Clipboard.au3>
_ClipBoard_GetDataEx([$iFormat = 1])
Параметры
$iFormat | [необязательный] Указывает формат буфера обмена: $CF_TEXT - Текстовый формат $CF_BITMAP - Дескриптор растрового рисунка (HBITMAP) $CF_METAFILEPICT - Дескриптор метафайла рисунка (METAFILEPICT) $CF_SYLK - Формат Символической Связи Microsoft (SYLK) $CF_DIF - Формат обмена данными программы Arts' $CF_TIFF - Формат файла тегированного изображения $CF_OEMTEXT - Текстовый формат, содержащий символы в OEM наборе символов $CF_DIB - Структура BITMAPINFO, сопровождаемая растровыми битами $CF_PALETTE - Дескриптор цветовой палитры $CF_PENDATA - Данные для пера для Pen Computing (Компьютерного пера). $CF_RIFF - Звуковые данные в формате RIFF $CF_WAVE - Звуковые данные в формате WAVE $CF_UNICODETEXT - Текстовый формат в юникоде $CF_ENHMETAFILE - Дескриптор улучшенного метафайла (HENHMETAFILE) $CF_HDROP - Дескриптор типа HDROP, идентифицирующий список файлов $CF_LOCALE - Дескриптор локального идентификатора, связанного с текстом в буфере обмена $CF_DIBV5 - Структура BITMAPV5HEADER, сопровождаемая растровыми цветами и растровыми битами $CF_OWNERDISPLAY - Собственный формат отображения данных $CF_DSPTEXT - Формат отображения текста, связанный с собственным форматом $CF_DSPBITMAP - Растровый формат отображения, связанный с собственным форматом $CF_DSPMETAFILEPICT - Формат отображения данных метафайла-картинки, связанного с собственным форматом $CF_DSPENHMETAFILE - Формат отображения улучшенного метафайла связанного с собственным форматом |
Возвращаемое значение
Успех: | Возвращает дескриптор объекта буфера обмена в указанном формате |
Ошибка: | Возвращает 0 |
Примечания
Дескриптор элемента буфера обмена возвращаемый функцией _ClipBoard_GetData не является приложением. Вы должны копировать данные немедленно. Приложение не должно освобождать дескриптор, не оставлять заблокированным. Приложение не должно использовать дескриптор после вызова функций _ClipBoard_Empty или _ClipBoard_Close, или после вызова функций _ClipBoard_SetData с тем же форматом буфер обмена.См. также
_ClipBoard_SetData, _ClipBoard_GetDataСм. также
Искать GetClipboardData в библиотеке MSDNПример
#include <GUIConstantsEx.au3>
#include <Clipboard.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
Global $iMemo
_Main()
Func _Main()
Local $hGUI, $btn_SetData, $btn_GetData, $hMemory, $tData
; Создаёт GUI
$hGUI = GUICreate("Clipboard", 600, 450)
$iMemo = GUICtrlCreateEdit("", 2, 2, 596, 396, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
$btn_SetData = GUICtrlCreateButton("Вставить в буфер обмена", 120, 410, 160, 30)
$btn_GetData = GUICtrlCreateButton("Получить из буфера обмена", 320, 410, 160, 30)
GUISetState()
; Цикл выполняется, пока окно не будет закрыто
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $btn_SetData
_ClipBoard_SetData("Текст для буфера обмена")
Case $btn_GetData
; Открывает буфер обмена
If _ClipBoard_Open($hGUI) Then
; Читает текст буфера обмена
$hMemory = _ClipBoard_GetDataEx($CF_TEXT)
If $hMemory = 0 Then _WinAPI_ShowError("Ошибка функции _ClipBoard_GetDataEx")
$tData = DllStructCreate("char Text[8192]", $hMemory)
MemoWrite(DllStructGetData($tData, "Text"))
; Закрывает буфер обмена
_ClipBoard_Close()
Else
_WinAPI_ShowError("Ошибка функции _ClipBoard_Open")
EndIf
EndSwitch
WEnd
EndFunc ;==>_Main
; Записывает строку в элемент для заметок
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite