gpt4 book ai didi

python - 具有多个参数的 COM "get property"

转载 作者:太空狗 更新时间:2023-10-30 01:38:11 24 4
gpt4 key购买 nike

我正在尝试调用 WindowsInstaller.Installer.ProductsEx来自 python,不知道如何让它工作。

这是我想从 python 调用的 vbscript 版本:

dim msi, products
set msi = CreateObject("WindowsInstaller.Installer")
set products = msi.ProductsEx("", "s-1-1-0", 7)

我认为我的问题是 ProductsEx 是一个带有 3 个参数的只读 get 属性,我不知道如何说服 win32comcomtypes 以这种方式调用它。

我试过:

>>> import win32com.client
>>> msi = win32com.client.Dispatch('WindowsInstaller.Installer')
>>> products = msi.ProductsEx('', 's-1-1-0', 7)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<COMObject WindowsInstaller.Installer>", line 2, in ProductsEx
pywintypes.com_error: (-2147352573, 'Member not found.', None, None)

和类似的使用comtypes:

>>> import comtypes.client
>>> msi = comtypes.client.CreateObject('WindowsInstaller.Installer')
>>> products = msi.ProductsEx['', 's-1-1-0', 7]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\comtypes\client\dynamic.py", line 46, in __getitem__
**dict(_invkind=comtypes.automation.DISPATCH_PROPERTYGET))
File "C:\Python27\lib\site-packages\comtypes\automation.py", line 768, in Invoke
args))
_ctypes.COMError: (-2147352571, 'Type mismatch.', ('TypeError: Parameter 1', (('', 's-1-1-0', 7),)))

我想我在 comtypes 方面更接近了,因为 DISPATCH_PROPERTYGET 是我想做的。在这两个库中,我尝试了我能想到的所有语法:

  • msi.ProductsEx(['', 's-1-1-0', 7])
  • msi.ProductsEx[['', 's-1-1-0', 7]]
  • msi.ProductsEx['']['s-1-1-0'][7]
  • None 而不是 ''
  • 元组而不是列表

如何从 python 调用具有多个参数的 COM“get”属性?

最佳答案

使用获取/设置

msi.<b>Get</b>ProductsEx("", "s-1-1-0", 7)

关于python - 具有多个参数的 COM "get property",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23497599/

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