[英]How do I remove a COM+ component from a COM+ application programmatically
[英]How can I get a list of all the com+ components of a com+ application?
我正在嘗試使用c#和ASP.NET來使用COM +。 我一直在關注一個例子 ,但其中一部分失敗了。
dynamic oCatalog = Activator.CreateInstance(Type.GetTypeFromProgID("ComAdmin.COMAdminCatalog"));
/* Get the Applications collection and populate it */
dynamic applicationInstances = oCatalog.GetCollection("Applications");
applicationInstances.Populate();
foreach (dynamic applicationInstance in applicationInstances)
{
Response.Write("<p>" + applicationInstance.Name.ToString() + "-" + applicationInstance.Key.ToString() + "</p>");
dynamic objComponents = oCatalog.GetCollection("Components", applicationInstance.Key);
objComponents.Populate();
foreach(dynamic Components in objComponents)
{
Response.Write("<p>" + Components.Name.ToString() + "</p>");
}
}
當上面調用oCatalog.GetCollection(“Components”,applicationInstance.Key)被調用時,我得到錯誤:
System.Reflection.TargetParameterCountException:調用GetCollection時出錯。
如何獲取應用程序實例中的當前組件列表?
您需要為特定應用程序的組件詢問“applications”集合:
ICOMAdminCatalog2 oCatalog = (ICOMAdminCatalog2) Activator.CreateInstance(Type.GetTypeFromProgID("ComAdmin.COMAdminCatalog"));
ICatalogCollection applications = oCatalog.GetCollection("Applications");
applications.Populate();
foreach (ICatalogObject applicationInstance in applications)
{
ICatalogCollection comps = applications.GetCollection("Components", applicationInstance.Key);
comps.Populate();
foreach (ICatalogObject comp in comps)
{
Console.WriteLine("{0} - {1}", comp.Name, comp.Key);
}
}
有關示例,請訪問: http : //msdn.microsoft.com/en-us/library/windows/desktop/ms686093(v = vs。85).aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.