C# 调用COM组件的方式

最近使用winform调用com组件碰到部署的问题,有的客户端虽然已经注册了需要是用的com组件,但是调用的时候还是会发生错误

于是有了漫长的解决问题的过程,最终解决方案如下:

不使用之前的引用方式引用com组件,使用类似vb的createobject根据proid创建com组件,C#代码如下:

System.Type obj = System.Type.GetTypeFromProgID(proid);
if (obj != null) 
  object o = Activator.CreateInstance(obj);

obj.InvokeMember("方法名", System.Reflection.BindingFlags.InvokeMethod, null, o, new object[] { 需要传入的参数});

posted @ 2012-11-12 11:40  John29  阅读(1649)  评论(0编辑  收藏  举报