我可以很好地加载控件(伪代码):
Set o = CreateObject("DevsoftCustom.CommControl")
现在,我需要找到该ocx的文件和目录(以便我可以读取ocx上的版本标记,并从该目录中的配置文件中读取)。
如何在C#和vb.net中完成?(该项目在vb.net中)
现在,我需要找到该ocx的文件和目录
假设您未使用私有COM注册,则此类信息在注册表中。
HKCR\CLSID\<SOME-GUID>\LocalServer="<path>"
...或者:
HKCR\<PROG-ID>\CLSID=<GUID> // use this GUID in the example above
或者,如果您不想使用注册表,则可以使用本机函数CLSIDFromProgID()
。告诉我更多...
下面是一个简单的表示的Microsoft Outlook日期控制在OLE / COM对象查看。
您可以使用OLE / COM对象查看器来查看控件的接口。
因此,在您的情况下,请根据编ID “ DevsoftCustom.CommControl”在注册表中查找类ID。
IE
使用Office示例:
一旦了解了COM的工作原理,就可以轻松地在c#中实现上述功能。
是否没有更直接的方法可以根据对象/控件名称询问操作系统?
并不是我所知道的,并且正如Damien所提到的那样,COM(包括OCX)的要点是,您不必关心某个地方,而只需要一个实例即可。
最接近的并行是在GAC中具有一个.NET程序集,您想在其中创建对象的实例,但又不必担心一遍又一遍地在同一台计算机上部署相同的程序集。当然,GAC的作用远不止于此,所以比较就在那里结束了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句