使用返回剪切板中指定格式的数据
#Include <Clipboard.au3>
_ClipBoard_GetDataEx([$iFormat = 1])
$iFormat | [可选参数] 指定剪切板格式: $CF_TEXT - 文本格式 $CF_BITMAP - 位图句柄 (HBITMAP) $CF_METAFILEPICT - 图片的图元文件句柄 (METAFILEPICT) $CF_SYLK - Microsoft 符号链接格式 (SYLK) $CF_DIF - 软件艺术数据( Arts' Data )交换格式 $CF_TIFF - 标记图像文件格式 $CF_OEMTEXT - OEM 字符集中包含字符的文本格式 $CF_DIB - 位图的 BITMAPINFO 结构 $CF_PALETTE - 调色板句柄 $CF_PENDATA - 扩展画笔计算数据 $CF_RIFF - RIFF音频数据格式 $CF_WAVE - WAVE音频数据格式 $CF_UNICODETEXT - Unicode 文本格式 $CF_ENHMETAFILE - 增强型图元文件句柄 (HENHMETAFILE) $CF_HDROP - 识别文件列表的 HDROP 的句柄 $CF_LOCALE - 与剪贴板文本有关的本地认证句柄 $CF_DIBV5 - 带位图颜色和图位的 BITMAPV5HEADER 结构 $CF_OWNERDISPLAY - 属主显示格式 $CF_DSPTEXT - 与私有格式相关的文字显示格式 $CF_DSPBITMAP - 与私有格式相关的位图显示格式 $CF_DSPMETAFILEPICT - 与私有格式相关的图元显示格式 $CF_DSPENHMETAFILE - 与私有格式相关的增强型图元显示格式 |
成功: | 返回指定格式的剪贴板对象句柄 |
失败: | 返回 0 |
在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("Set ClipBoard Data", 150, 410, 120, 30)
$btn_GetData = GUICtrlCreateButton("Get ClipBoard Data", 300, 410, 120, 30)
GUISetState()
; 循环直到用户退出
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $btn_SetData
_ClipBoard_SetData("ClipBoard Library")
Case $btn_GetData
; 打开剪贴板
If _ClipBoard_Open($hGUI) Then
; 读取剪贴板文本
$hMemory = _ClipBoard_GetDataEx($CF_TEXT)
If $hMemory = 0 Then _WinAPI_ShowError("_ClipBoard_GetDataEx failed")
$tData = DllStructCreate("char Text[8192]", $hMemory)
MemoWrite(DllStructGetData($tData, "Text"))
; 关闭剪贴板
_ClipBoard_Close()
Else
_WinAPI_ShowError("_ClipBoard_Open 失败")
EndIf
EndSwitch
WEnd
EndFunc ;==>_Main
; 写入消息到 memo
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite