具有多个参数的 COM“获取属性”

2024-04-22

我正在尝试打电话WindowsInstaller.Installer.ProductsEx http://msdn.microsoft.com/en-us/library/aa369461%28v=vs.85%29.aspx来自 python,不知道如何让它工作。

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

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

我认为我的问题是ProductsEx是一个只读的 get 属性,需要 3 个参数,我不知道如何说服win32com or comtypes就这样称呼它。

I tried:

>>> 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 since 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.GetProductsEx("", "s-1-1-0", 7)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有多个参数的 COM“获取属性” 的相关文章

随机推荐

  • 如何在PDF文档之前显示加载屏幕

    在我们的应用程序中 我们有动态生成的 PDF 文档的链接 链接看起来像这样主机 22 5 file 3136 pdf所以对于浏览器来说它就像一个静态的 pdf 文档 单击链接时 它会打开一个新窗口 该窗口仅接收 PDF 文档 无 HTML
  • 仅使用本机库的 C# 简单游戏

    我可以找到一组java 2D 游戏教程 http zetcode com tutorials javagamestutorial and 安卓游戏教程 http obviam net index php table of contents
  • 计算数组中向量之间的最大距离

    假设我们有一个包含 n 个向量的数组 我们想要计算这些向量之间的最大欧氏距离 最简单 天真的 的方法是迭代数组 并为每个向量计算其与所有后续向量的距离 然后找到最大值 然而 这个算法会增长 n 1 相对于数组的大小 对于这个问题还有其他更有
  • 继续阅读 JavaScript 中的链接

    我有一个像传记这样的字段 其中包含文本 我需要在第一页上显示该字段的一半 部分 文本 然后出现继续阅读链接 单击该链接后 剩余文本将显示在同一页面上 我需要在 HTML 中实现这一点 谁能帮我 请注意 这是快速原型设计 如果你使用jquer
  • 可以在 iOS 6 中显示“App Store 模式”吗?

    是否可以在 iOS 6 中显示一个模式视图控制器来在 App Store 中展示我的应用程序 是的你可以 iOS6 看一眼SKStoreProductViewController https developer apple com libr
  • 如何在 Laravel 7.x 中从控制器返回视图时传递 cookie?

    在 laravel 7 x 中 有什么方法可以在返回视图时将 cookie 传递给客户端吗 类似于 return view welcome gt cookie name value min 嗯 我做了一些研究 发现有一些方法 我熟悉的两个是
  • 当给定闪光角度和速度时,计算物体的轨迹

    我正在尝试从大炮中发射炮弹并使其遵循现实的路径 射击角度根据大炮的方向而变化 自动定向到鼠标指针 所以我想弄清楚的是 当给定角度和设定速度时 如何沿着抛物线路径移动炮弹 我读到 这可以在没有复杂的三角学的情况下完成 在高中时从未听过 并且可
  • Rails 3 ActiveRecord API:.build 方法

    我对 Ruby RoR 相当陌生 一年多了 我注意到 RoR 或 Ruby 内部有几种不同的方法基本上做同样的事情 我想要得到某种澄清的一种方法是 build方法 什么时候使用它是有效的 或者如何以最好的方式使用它 算是一回事 Thanks
  • 使用 JQuery css 方法自定义 CSS 光标

    有没有办法使用 JQuery 的 css 方法来提供以下光标样式 cursor url http www google com intl en ALL mapfiles closedhand cur default important jQ
  • 使用 pg-promise 查询多对多关系的最佳方法

    例如 我想从数据库获取用户信息 电子邮件及其角色 并创建一个如下对象 id 1 firstname John lastname Johnny emails type work email email protected cdn cgi l
  • 使用forever运行meteor生成的节点包的正确语法是什么?

    在文档中 在您自己的服务器上运行meteor的过程是运行 meteor bundle bundle tgz 然后提取这个 tarball tar xzvf bundle tgz 然后启动一个节点服务器 MONGO URL mongodb l
  • YouTube API v3 示例项目引发 GTLJSONRPCErrorDomain -32602 错误请求错误

    我刚刚下载了Google API 目标 C 客户端 https code google com p google api objectivec client source checkout 我在 Mac 上的 Xcode 中打开了 YouT
  • 如何在没有标志的情况下使用 ngx-bootstrap 角度折叠

    我正在尝试制作折叠动画 但没有布尔指示器isCollapsed 因为我有很多元素 并且我不想创建很多布尔值 所以有没有办法在没有布尔指示器的情况下做到这一点
  • 根据属性动态注册Spring Bean

    我正在使用最新的 Spring Boot 版本 并尝试根据中定义的内容动态创建 n 个 beanapplication yaml文件 然后我想根据 bean 名称将这些 bean 注入到其他类中 下面的代码是我想要实现的目标的一个非常简化的
  • JSpinner 编辑器区域设置

    我正在创建 JSpinner 并设置具有自定义格式的 NumberEditor 但无论我做什么 格式都使用 而不是 不根据我的语言环境 pt BR priceSpinner new JSpinner priceSpinner setEdit
  • ASP.NET UpdatePanel 错误 htmlfile:未知的运行时错误,updatePanelElement.innerHTML=rendering

    在触发 UpdatePanel 后调试 ASP NET Web 应用程序时 我收到此错误 htmlfile 未知的运行时错误 并且 updatePanelElement innerHTML rendering 在 ScriptResourc
  • 多用户聊天中的 smack 存在侦听器

    多用户聊天中的smack状态监听器没有被调用 使用Smack Api登录然后添加名册 addRosterListener mRoasterListener 但当聊天室其他用户的存在发生变化时 无法成功收听 我尝试使用以下代码来使存在侦听器正
  • 在 Mathematica 中使用图形进行渐变填充

    我如何使用以下内容创建Rectangle in Graphics Using Polygon 你可以 Graphics EdgeForm Black Polygon 0 0 3 0 3 1 0 1 VertexColors gt White
  • Backbone.Marionette 在路由更改时更改区域

    我的应用程序有一个主区域 有时主区域中会有一些应可通过 URL 访问的子区域 主要区域内容由应用程序路由器的功能更改 因为他知道主要区域 但是子视图中的临时区域呢 例如网址 docs将显示文档链接列表以及 doc id应在列表旁边显示文档的
  • 具有多个参数的 COM“获取属性”

    我正在尝试打电话WindowsInstaller Installer ProductsEx http msdn microsoft com en us library aa369461 28v vs 85 29 aspx来自 python