如何彻底清除COM组件?

问题描述

我用Process.Kill()杀掉一个程序,这个程序内部用到了某个COM组件。然后立即去new这个程序的实例,会产生COM异常80040111,我想是因为Process.Kill后这个程序用到的COM组件没有正常卸载导致的。因为过一段时间再去new这个程序的实例就可以成功。有没有办法彻底清除这个程序所用到的COM组件?组件的CLSID是已知的。

解决方案

解决方案二:
应该不是这样的吧,我也是按照你的方法做的,没有出现这个情况的。具体的,你再看看呢,帮你顶个
解决方案三:
谢谢,可能是你的杀掉的程序和我的不一样,我现在想找一种方法可以得到对应CLSID的COM对象,然后手动清除它。

时间: 2024-09-13 01:09:00

如何彻底清除COM组件?的相关文章

如何用VB6写COM组件(转)

所幸的是,我们可以用COM组件来在最大程度上扩展ASP的功能.你可知道,任何可以用诸如VB,VC和VJ以及其它的一些程序语言所写出来的东西,都可以被应用到你的网站的开发中去,这就是COM(组件对象模型).COM能够用来编写能够被ASP所调用的对象.当在VB等编程环境中完成了组件的编制后,就可以放在ASP页面中被ASP所调用了.在这篇文章中,我们将看到如何使用VB6来编写一个COM对象,如何将其注册在服务器上,并在ASP页面中对其进行调用.但在开始之前,让我先来简单的介绍一写关于COM的小知识.

卸载Windows中的集成组件

大家都知道,微软的软件有个共同特点,就是与操作系统紧密集成,诸如IE.DirectX.Windows Media Player等软件,想不安装都不行,而微软又没给我们提供卸载程序,因此不能直接删除这些组件.可是有时我们还真需要把这些软件卸载掉,如高版本的测试版到期,而Windows又不允许这些组件由高版本降级为低版本,难道说这些Windows组件真的卸不掉吗?其实只要我们选择合适的方法还是可以彻底清除这些组件的. 卸载"IE" 图1 我们只需使用一个特别的工具-"Panthe

Delphi实现提取可执行文件内部所有图标

本实例实现的功能是能够从用户选择的可执行文件(后缀名为exe)中提取所有图标并且显示在窗体上. 在窗体中添加TImage 组件.TOpenDialog组件和TButton组件,TImage组件充当显示文件内图标的容器,TOpenDialog组件和TButton组件用来激活提示用户选择GIF动画的对话框.添加组件后的窗体如图1所示. 图1 添加组件后的窗体 首先在窗体的uses段中添加ShellAPI,然后添加按钮响应代码如下: procedure TfrmMain.btnOpenClick(Se

使用SQL Server维护计划实现数据库定时自动备份

在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库.要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业.启动SQL Server Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库TestDB1的完整备份,备份文件在C盘Backup文件夹中,文件名就是T

ado-请教ADO操作Access库重复用ADO对象的问题

问题描述 请教ADO操作Access库重复用ADO对象的问题 我写了一个CADO类,我在构造函数里初始化com组件,创建连接对象并实例化.在析构函数里清除com组件,并关闭连接对象.我还写个一个函数_Recoreset ExcuteSQL(CString str) 里面定义了一个记录集对象并且实例化,然后将参数转化成SQL 语句,打开记录集并且把记录集返回. CADO::CADO() { //初始化COM库 ::CoInitialize(NULL); try { //创建连接对象实例 m_pCo

mssql server自动定时数据库备份图文详细

最常用的方式就是使用SQL Server代理中的作业.启动SQL Server Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库TestDB1的完整备份,备份文件在C盘Backup文件夹中,文件名就是TestDB1+当时备份的日期字符串.bak.  代码如下 复制代码 declare @name varchar(250)  set @name='C:/Backup/TestDB1_'+  convert(var

清除组件

问题描述 在JPanel中添加了一个JScrollPane,在JScrollPane中newJScrollPane(jTable),在从新点击按钮时,想要清除JPanel中的所有组件,我用了jPanel.removeAll(),但是却实现不了.这是怎么回事? 解决方案 解决方案二:importjava.awt.BorderLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.

AJAX+JSF组件 实现高性能的文件上传

一. 引言 基于浏览器的文件上传,特别是对于通过<input type="file">标签包含到Web页面来实现上传的情况,还存在较严重的性能问题.我们知道,超过10MB的上传文件经常导致一种非常痛苦的用户体验.一旦用户提交了文件,在浏览器把文件上传到服务器的过程中,界面看上去似乎处于静止状态.由于这一切发生在后台,所以许多没有耐心的用户开始认为服务器"挂"了,因而再次提交文件,这当然使得情况变得更糟糕. 为了尽可能使得文件上传感觉更友好些,一旦用户提交

AJAX+JSF组件实现高性能的文件上载(3)

ajax|js|性能 四.处理AJAX请求 AJAX请求的生成是在这个组件的解码方法中处理的.我们需要检查这是否是一个实际的AJAX请求(为了区别于正常的编译行为),然后基于由ProgressMonitorFileItemFactory类的SessionUpdatingProgressObserver实例设置在会话中的值把一个XML响应发送回客户端. public void decode(FacesContext context, UIComponent component) { UIFileU