如何通过python知道剪贴板中的数据类型?

时间:2016-03-06 14:00:13

标签: python winapi

通过使用Python和win32api,如何知道剪贴板中的当前数据类型?

我知道我可以使用如下语句:

GetClipboardData(win32con.CF_TEXT) 

但如果我不知道数据的类型怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用EnumClipboardFormats了解您可以获得的类型。

import win32clipboard as clipboard
def getTheClipboardType():
    formats = []
    clipboard.OpenClipboard()
    lastFormat = 0
    while True:
        nextFormat = clipboard.EnumClipboardFormats(lastFormat)
        if 0 == nextFormat:
             # all done -- get out of the loop
             break
        else:
             formats.append(nextFormat)
             lastFormat = nextFormat
    clipboard.CloseClipboard()
    return formats

通过启动该功能,您将获得一个列表,它包含数据的类型编号。如:

[13, 1, 49427, 49953, 49422, 49304, 16, 7]