Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python COM“;“获取财产”;具有多个参数_Python_Com_Win32com_Comtypes - Fatal编程技术网

Python COM“;“获取财产”;具有多个参数

Python COM“;“获取财产”;具有多个参数,python,com,win32com,comtypes,Python,Com,Win32com,Comtypes,我正在尝试从python调用,但不知道如何使其工作 下面是我想从python调用的vbscript版本: dim msi,产品 设置msi=CreateObject(“WindowsInstaller.Installer”) set products=msi.ProductsEx(“,”s-1-1-0“,7) 我认为我的问题是ProductsEx是一个只读get属性,它包含3个参数,我不知道如何说服win32com或comtypes这样调用它 我试过: >>> import

我正在尝试从python调用,但不知道如何使其工作

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

dim msi,产品
设置msi=CreateObject(“WindowsInstaller.Installer”)
set products=msi.ProductsEx(“,”s-1-1-0“,7)
我认为我的问题是
ProductsEx
是一个只读get属性,它包含3个参数,我不知道如何说服
win32com
comtypes
这样调用它

我试过:

>>> 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
方面走得更近了,因为
DISPATCH\u PROPERTYGET
是我想要做的。在这两个LIB中,我尝试了我能想到的所有语法:

  • msi.ProductsEx(['''s-1-1-0',7])
  • msi.ProductsEx[['''s-1-1-0',7]]
  • msi.ProductsEx['']['s-1-1-0'][7]
  • 而不是
    '
  • 元组而不是列表
如何使用python中的多个参数调用COM“get”属性?

使用get/Set

msi.GetProductsEx("", "s-1-1-0", 7)
msi.GetProductsEx(“,“s-1-1-0”,7)
msi.GetProductsEx("", "s-1-1-0", 7)