win32com.client.Dispatch公司班级实验室

2024-09-30 12:12:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用python连接到COM对象。在

更具体地说,我使用ASCOM标准驱动程序连接到maxdomeii,不知道如何引用这个驱动程序。在

在这个link中,作者使用了“塞莱斯顿望远镜“作为win32的参数com.client.Dispatch公司实例化。在

我的问题是如何找到这根绳子。我知道它与安装在计算机上的驱动程序有关,但我不知道如何定位特定的字符串。有没有办法使用win32com.客户端列出COM对象?在

顺便说一下,在Windows7Pro上操作,64位。在

谢谢


Tags: 对象实例comclient参数标准驱动程序link
2条回答

这个“塞莱斯顿望远镜字符串被称为ProgID(你可以很容易地搜索这个术语)。在

对于整个机器,它们位于HKEY_LOCAL_MACHINE\SOFTWARE\Classes注册表项下,对于当前正在运行的用户,它们位于HKEY_CLASSES_ROOT中。在

当COM创建组件的实例时,它将使用当前用户的注册表视图。大部分密钥在HKLM中,但在HKCR中可能会有一些本地覆盖。在

我认为不可能直接从python获取COM对象的列表,但是您可以在Powershell中运行以下代码(实际上是从python内部运行它):

Get-ChildItem HKLM:\Software\Classes -ErrorAction SilentlyContinue | Where-Object {
   $_.PSChildName -match '^\w+\.\w+$' -and (Test-Path -Path "$($_.PSPath)\CLSID")
} | Select-Object -ExpandProperty PSChildName

这将输出系统中按字母顺序排序的所有有效COM对象名称的列表,语法通常是主程序.子功能. 在

我机器上的一些输出:

{a1}

我希望这有帮助!在

相关问题 更多 >

    热门问题