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

如何通过python知道剪贴板中的数据类型?,python,winapi,Python,Winapi,通过使用Python和win32api,如何知道剪贴板中的当前数据类型 我知道我可以使用这样的语句: GetClipboardData(win32con.CF_TEXT) 但是如果我不知道数据的类型呢 您可以使用EnumClipboardFormats了解可以获得的类型 import win32clipboard as clipboard def getTheClipboardType(): formats = [] clipboard.OpenClipboard()

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

我知道我可以使用这样的语句:

GetClipboardData(win32con.CF_TEXT) 

但是如果我不知道数据的类型呢

您可以使用
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]

因为我想得到剪贴板上的数据,不管数据是什么。为什么不做一些研究呢。如果您阅读了所调用函数的文档,您会找到整个剪贴板api。@David Heffernan非常感谢,我已经知道了如何操作。如果您已经阅读了文档,为什么还要问这个问题?您已经知道答案。@DavidHeffernan向其他人提供信息。这听起来像是您真正想要的,因为您正在寻找特定的剪贴板格式。