smbsoft 2015-04-26 23:07 采纳率: 0%
浏览 1697

vb中用代码如何将com+组件卸载?

'函数名称:DeleteComponent'作用:删除对应com+应用中的组件'参数:sFolder COM+目录,sFileName组件名Public Function DeleteComponent(sComFolder As String, sFileName As String) As Boolean Dim oo As Object Dim oKey As Variant Dim oComponents As Object Dim i As Integer On Error GoTo Errd oCatcol.Populate For Each oo In oCatcol If oo.name = sComFolder Then oKey = oo.Key End If Next Set oComponents = oCatcol.GetCollection("Components", oKey) oComponents.Populate If oComponents.Count > 0 Then i = 0 For Each oo In oComponents If oo.name = sFileName Then oComponents.Remove i oComponents.SaveChanges Exit For End If i = i + 1 Next End If DeleteComponent = True Exit FunctionErrd:End Function以上代码是卸载com+组件的,但是上面的sFileName 并不是dll的文件名,而是“工程名.类模块名”,我怎么才能根据dll名获得它的所有类模块名?比如说我有个编译好名为test.dll 的com+组件,本身没编译前的工程里有这三个类名clsInfo,clsUpdate,clsOther.如果是把组件手工拖到com+组件服务里面某个应用下的话就会这样展示:test.clsInfo,test.clsUpdate,test.clsOther,我想要的就是怎么才能获取这三个名称出来,用于以上的卸载

  • 写回答

6条回答 默认 最新

  • WorldMobile 2015-04-27 00:31
    关注

    在delphi可以这么写,你参考一下

    //卸载COM+应用程序

    function UnInstallCOMApplication:Boolean;stdcall;
    const
    SComApplicationName = '你的应用程序名';
    var
    COMAdminCatalog : OleVariant;
    CatalogCollection : OleVariant;
    i : Integer;
    begin
    try
    COMAdminCatalog := CreateOleObject('COMAdmin.COMAdminCatalog');
    CatalogCollection := COMAdminCatalog.GetCollection('Applications');
    CatalogCollection.Populate;
    for i := 0 to CatalogCollection.Count - 1 do
    if CatalogCollection.Item[i].Name = SComApplicationName then
    begin
    CatalogCollection.Remove(i);
    CatalogCollection.SaveChanges;
    Break;
    end;
    Result := True;
    except
    Result := False;
    end;
    end;

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)