我在网站了解了一下,在调用COM组件的时候,如果是前期绑定,就像引用DLL一样引用,(我也不知道什么是前期绑定),如果是后期绑定的话,代码大致如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Runtime.InteropServices; using System.Reflection; namespace ComTest { class Program { static void Main(string[] args) { object[] parameter = new object[1]; System.Guid guid = new Guid("7418AFE6-6A10-479B-99FA-4AE0D39026A9");//请问这个ID是从哪儿获取的啊? Type opc = Type.GetTypeFromCLSID(guid, true); object opcObject = Activator.CreateInstance(opc); parameter[0] = "lxm"; opc.InvokeMember("Say", BindingFlags.Default | BindingFlags.InvokeMethod, null, opcObject, parameter); Console.Read(); } } }
没几句话,关键里边那个ID是怎么获取的?我看了一下COM的属性里也没有,DLL的属性里也没有……
ID是组件编写者告诉你的,或者从注册表中查找出来的。
GUID ID 是全球唯一的COM类型识别码 由编写者指定