pywin32
文檔進行客戶端COM顯示實例化COM對象這一基本方法實例化COM對象Manipulating the zone identifier to specify where a file was download from – The Old New Thing - MSDN blogs。該類,如HKEY_CLASSES_ROOT\CLSID\{0968e258-16c7-4dba-aa86-462dd61e31a3}
所示,註冊表沒有相應的ProgID
。不具有由類/接口名PROGID
我看到有一個潛在的pythoncom.CoCreateInstance
函數接受CLSID
實例化和IID
顯然從它查詢。
但是這很不方便,因爲我必須使用不可理解的GUID而不是人類可讀的名稱。
的問題是:
- 有沒有股票方式
pywin32
/基礎WinAPI的通過名稱來查找上述的GUID? (不建議手動搜索註冊表) - 或者也許有其他方式來實例化名稱的對象?
我嘗試和失敗:win32com.client.IDispatch(<class/interface name>)
,pythoncom.IID(<class/interface name>)
。當然,也可以通過Net,MSDN和PyWin32文檔查看。
將不知所云的GUID分配給一個很好命名的變量,這基本上是ProgID爲您做的。 –
@MarkTolonen這實際上是一個有趣的問題:ProgIDs是否像GIUDs一樣獨特?如果是,那麼這是如何促進的?畢竟,他們的「代」背後沒有「實用的唯一性」算法。 –
[編程標識符(ProgID)是一個可以與CLSID關聯的註冊表項。像CLSID一樣,ProgID標識一個類,但精度較低,因爲它不保證是全局唯一的。](https://msdn.microsoft.com/en-us/library/windows/desktop/dd542719(v = vs 0.85)的.aspx) –