pywin32クライアント側 COM のドキュメントでは、COM オブジェクトをインスタンス化する基本的な方法を示しています。
obj = win32com.client.Dispatch("<ProgID>")
PersistentZoneIdentifierファイルがダウンロードされた場所を指定するためにゾーン識別子を操作するのと同じように作業しようとしています - 古い新しいもの - MSDNブログ。HKEY_CLASSES_ROOT\CLSID\{0968e258-16c7-4dba-aa86-462dd61e31a3}のレジストリが示すように、そのクラスには対応するProgID.
インスタンス化するものと、そこから明らかにクエリするものpythoncom.CoCreateInstanceを受け入れる基本的な関数があることがわかります。CLSIDIID
しかし、人間が読める名前ではなく、理解できない GUID を使用する必要があるため、これは不便です。
質問は:
pywin32前述の GUID を名前で検索する /underlying WinAPI に標準的な方法はありますか? (手動でレジストリを検索することはお勧めしません)- または、そのオブジェクトを名前でインスタンス化する他の方法はありますか?
私が試して失敗したこと: win32com.client.IDispatch(<class/interface name>), pythoncom.IID(<class/interface name>). もちろん、Net、MSDN、および PyWin32 のドキュメントも調べました。