尝试使用Type.GetTypeFromCLSID或Type.GetTypeFromProgID方法快速检查 COM 接口是否存在。
或者,只需实例化对象并捕获异常,例如
catch(COMException ex) {
if(ex.ErrorCode == -2147221164) {
// Retrieving the COM class factory for component with CLSID XXXX failed
}
}
Run Code Online (Sandbox Code Playgroud)
更新:
null如果 COM 对象无法实例化,则此重载似乎是唯一实际返回的重载。