Python win32com.client.Dispatch类标签
我正在尝试使用python连接到COM对象 更具体地说,我使用ASCOM标准驱动程序连接到MaxDome II,不知道如何引用此驱动程序 在本文中,作者使用“Celestron.望远镜”作为win32com.client.Dispatch实例化的参数 我的问题是如何找到这个字符串。我知道它与安装在计算机上的已安装驱动程序有关,但我不知道如何定位特定字符串。有没有办法使用win32com.client列出COM对象 顺便说一下,在Windows7Pro上操作,64位Python win32com.client.Dispatch类标签,python,windows,com,win32com,ascom,Python,Windows,Com,Win32com,Ascom,我正在尝试使用python连接到COM对象 更具体地说,我使用ASCOM标准驱动程序连接到MaxDome II,不知道如何引用此驱动程序 在本文中,作者使用“Celestron.望远镜”作为win32com.client.Dispatch实例化的参数 我的问题是如何找到这个字符串。我知道它与安装在计算机上的已安装驱动程序有关,但我不知道如何定位特定字符串。有没有办法使用win32com.client列出COM对象 顺便说一下,在Windows7Pro上操作,64位 谢谢我认为不可能直接从pyth
谢谢我认为不可能直接从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对象名称的列表,按字母顺序排序,语法通常为MainProgram.SubFunction
我的机器上的一些输出:
我希望这有帮助 这个“Celestron.望远镜”字符串被称为a(你可以很容易地用谷歌搜索这个词)
它们位于整个计算机的HKEY\U LOCAL\U MACHINE\SOFTWARE\Classes
注册表项下,以及当前正在运行的用户的HKEY\U Classes\U ROOT
中
当COM创建组件实例时,它将使用当前用户的注册表视图。大多数密钥在HKLM中,但在HKCR中可能存在一些本地覆盖