Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.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 win32com.client.Dispatch类标签_Python_Windows_Com_Win32com_Ascom - Fatal编程技术网

Python win32com.client.Dispatch类标签

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对象

更具体地说,我使用ASCOM标准驱动程序连接到MaxDome II,不知道如何引用此驱动程序

在本文中,作者使用“Celestron.望远镜”作为win32com.client.Dispatch实例化的参数

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

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


谢谢

我认为不可能直接从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中可能存在一些本地覆盖