使用IExtractImage在Python中创建文件缩略图

使用IExtractImage在Python中创建文件缩略图,python,thumbnails,pywin32,windows-explorer,Python,Thumbnails,Pywin32,Windows Explorer,我正在用Python(Windows7上的CherrypyWeb服务器)重写一个我很久以前用VB6编写的旧应用程序 我的旧应用程序用于从CAD文件中提取文件缩略图,就像Windows资源管理器一样 解决了这个问题,但没有显示工作代码,而且代码非常旧 如何在Python中使用IExtractMage 编辑: 我从旧文章中复制了这个小代码,它遵循与旧VB代码相同的步骤。它崩溃时,最后一行出现消息pywintypes.com\u错误(-2147221164,‘未注册的类’,无,无): from win

我正在用Python(Windows7上的CherrypyWeb服务器)重写一个我很久以前用VB6编写的旧应用程序

我的旧应用程序用于从CAD文件中提取文件缩略图,就像Windows资源管理器一样

解决了这个问题,但没有显示工作代码,而且代码非常旧

如何在Python中使用IExtractMage

编辑:

我从旧文章中复制了这个小代码,它遵循与旧VB代码相同的步骤。它崩溃时,最后一行出现消息
pywintypes.com\u错误(-2147221164,‘未注册的类’,无,无)

from win32com.shell import shell, shellcon
import pythoncom

def test_IExtractImage(path, filename):
    iSHFolder = shell.SHGetDesktopFolder()
    eaten, idList, attr = iSHFolder.ParseDisplayName(0, None, path)
    targetFolder = iSHFolder.BindToObject(idList, None, shell.IID_IShellFolder)
    eaten, targetIdList, attr = targetFolder.ParseDisplayName(0, None, filename)
    iidExtractImage = pythoncom.MakeIID('{BB2E617C-0920-11D1-9A0B-00C04FC2D6C1}')
    extractImage = targetFolder.GetUIObjectOf(0, [targetIdList], iidExtractImage, 0)

test_IExtractImage('c:\\', 'test.e2')

获取图像并生成文件以便在网页上提供服务时缺少哪些步骤?

您应该使用python+win32/ctypesEver找到解决方案?我需要为CATIA文件做同样的事情。谢谢@hansonap我的解决方案已经使用python服务器调用外部.exe文件来创建映像两年了。我使用文章中提到的示例在vb6中创建了.exe。我只是再试了一次,我注意到我描述的错误现在没有抛出。可能是因为2014年我使用的是python 64位,而现在我使用的是32位,或者可能是因为有更好的覆盖率。所以我花了30分钟试图完成下一步(
extractImage.GetLocation
),但没有成功。