gpt4 book ai didi

python - 如何在 python 中创建 IPortableDeviceManager 的实例?

转载 作者:太空宇宙 更新时间:2023-11-03 18:38:17 25 4
gpt4 key购买 nike

我正在尝试使用通过 COM 公开的 Windows 可移植设备 API 从可移植设备(iPhone、Android)导入照片。添加 PortableDeviceApiLib.dll 的引用后,我看到一些使用 C# 执行的代码,如下所示:

PortableDeviceApiLib.PortableDeviceManagerClass devMgr = new PortableDeviceApiLib.PortableDeviceManagerClass();

在 python 中执行相同操作的方法是什么?

最佳答案

您应该能够通过执行以下操作:

from comtypes.client import CreateObject
CreateObject("{0af10cec-2ecd-4b92-9581-34f6ae0637f3}")

但是,您应该将其 (QueryInterface) 转换为有用的内容:

import os
from comtypes.client import GetModule
GetModule(os.getenv("WINDIR") + "\\system32\\PortableDeviceApi.dll")
from comtypes.gen.PortableDeviceApiLib import *
CreateObject(PortableManager)

CreateObject 将检查第一个参数以查看它是否是具有 _reg_clsid_ 属性、comtypes.GUID 实例、CLSID 的对象字符串(即以 { 开头),最后尝试查找 CLSID(假设它是 ProgID)。

它还将检查 _com_interfaces_ 属性的第一个参数(该属性应该是接口(interface)列表),并获取第一个参数作为 QueryInterface 的默认接口(interface)例如,如果未提供 interface 参数。

关于python - 如何在 python 中创建 IPortableDeviceManager 的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21122468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com