函数参考


_ClipBoard_EnumFormats

枚举剪切板中当前有效的数据格式

#Include <Clipboard.au3>
_ClipBoard_EnumFormats($iFormat)

参数

$iFormat 指定一个已知可用的剪贴板格式. 要启动一个格式的枚举,设置 $iFormat 为 0
当 $iFormat 为零, 函数检索第一个可用的剪贴板格式.
但在以后调用枚举过程中,设置 $iFormat 为先前调用的结果.

返回值

成功: 返回指定的剪贴板格式
失败: 返回 0

注意/说明

 枚举格式前必须打开剪贴板

相关

_ClipBoard_Open, _ClipBoard_CountFormats, _ClipBoard_GetPriorityFormat, _ClipBoard_RegisterFormat

详情参考

在MSDN中搜索


示例/演示


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

Global $iMemo

_Main()

Func _Main()
    Local $hGUI, $iFormat, $iCount

    ; 创建 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

        ; 显示可用的剪贴板格式
        MemoWrite("Clipboard formats ..: " & _ClipBoard_CountFormats())

        ; 枚举剪贴板格式
        Do
            $iFormat = _ClipBoard_EnumFormats($iFormat)
            If $iFormat <> 0 Then
                $iCount += 1
                MemoWrite("Clipboard format " & $iCount & " .: " & _ClipBoard_FormatStr($iFormat))
            EndIf
        Until $iFormat = 0

        ; 关闭剪贴板
        _ClipBoard_Close()
    Else
        _WinAPI_ShowError("_ClipBoard_Open 失败")
    EndIf

    ; 循环直到用户退出
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

EndFunc   ;==>_Main

; 写入消息到 memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite