[英]How to get location and file name of OCX in vb.net
我可以很好地加載控件(偽代碼):
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()
。 告訴我更多...
這是OLE / COM Object Viewer中Microsoft Outlook日期控件的簡單表示。
您可以使用OLE / COM對象查看器來查看控件的接口。
因此,在您的情況下,請根據編ID “ DevsoftCustom.CommControl”在注冊表中查找類ID。
即
使用Office示例:
一旦了解了COM的工作原理,就可以輕松地在c#中實現上述功能。
是否沒有更直接的方法可以根據對象/控件名稱詢問操作系統?
並不是我所知道的,正如Damien所提到的那樣,COM(包括OCX)的要點是,您不必關心某個地方,而只需要一個實例。
最接近的並行是在GAC中具有一個.NET程序集,您想在其中創建對象的實例,但又不必擔心一遍又一遍地在同一台計算機上部署同一程序集。 當然,GAC的作用遠不止於此,所以比較就在那里結束了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.