我正在研究在运行时注册一个directshow过滤器,可能需要使用反射来做到这一点,然后在二进制数据上以某种方式调用regsvr32。不确定这是否可行,听起来很棘手。基本上我有一个dll文件是一个过滤器,我把它添加到解决方案作为一个嵌入式资源,但在此之后我卡住了…不知道如何去注册它。有人有什么见解吗?这是可能的吗?还是我必须有文件存在才能注册?谢谢。
欢呼。
您确定需要注册吗?只有参加Intelligent Connect
才需要这样做。否则,您可能只是LoadLibrary
DLL并通过DllGetClassObject
绕过COM实例化创建过滤器的实例。好消息是,您不必成为具有提升权限的管理员来执行此操作,而不是注册过滤器DLL。
请参见:
- 将非托管dll嵌入托管c# dll
- 如何将c++ windows dll合并为c#应用程序exe?