我有一个UWP应用程序,我想与另一个程序(Wirecast)连接。 Wirecast建议的方法是调用以下代码:
Type objClassType = Type.GetTypeFromProgID("Wirecast.Application");
_Wirecast = Activator.CreateInstance(objClassType);
当我从UWP应用程序调用此代码时,出现以下错误:
System.Runtime.InteropServices.COMException:'创建一个实例 带有CLSID的COM组件{A416C15B-A073-4994-8DB5-87527A41B2FA} 由于以下错误,使用CoCreateInstanceFromApp失败: 80040154未注册类(HRESULT异常:0x80040154 (REGDB_E_CLASSNOTREG))。
我检查了CLSID,它在注册表编辑器中正确显示。我尝试使用相同的结果编译x64和x86配置。
当我尝试在WPF项目中编译此示例时,它按预期工作。
有没有办法将此COM对象与UWP应用程序一起使用?
答案 0 :(得分:0)
不幸的是,由于UWP在沙箱中运行而无法与COM通信,因此无法正常工作。如果您需要此类功能,则必须创建一个本地服务,您的UWP应用程序将通过该服务与程序或Brokered Windows运行时组件进行通信,该组件没有任何限制,但会阻止您的应用程序发布到Microsoft Store。