最近遇到一个比较棘手的问题:
    小弟公司的业务系统都是用 VB 生成的 EXE,现在在一部分电脑上出现了不能删除的情况,提示信息: 访问被拒绝。请确定磁盘未满或未被写保护而且文件未被使用。
只有在安全模式下或删除 explorer.exe 进程的情况下才可以删除。由于 业务维护更新实际上就是在 服务器上 的 exe程序 COPY 到本机上,这样就直接导致了不能自动更新。怀疑是病毒原因引起的,但是杀毒软件又查不出是什么病毒,目前出现这种情况的电脑不在少数。真的是急死人了。盼高人指点。

解决方案 »

  1.   

    查看一下,VB生产的程序,是不是还在运行,先关闭原来的exe,可能是原来的程序写的不好,比如没有给 X 标识添加关闭程序事件,结果点了X ,然后界面是没了,但是进程还在
      

  2.   

    可能是由于句柄没有正确释放,或者被其他程序注入了DLL
      

  3.   

    进程没关闭是最常见的原因~~~在你的主窗体的关闭事件里写上 end
    就成了:D
      

  4.   

    说明一下, EXE 是已经关闭了,taskmgr.exe 中也查到对应 exe 程序的进程。非常感谢两位的指点,对于陈辉的回答,我不是很明白 被其它程序注入DLL是怎么样的,能不能更详细的说明。有个事情需要申明一下,并不是每台电脑都这样,现在办公室里大概有一半的电脑出现这种现象,大概一个星期前出现的,所以我怀疑是病毒原因引起的。但还是没有找到解决办法。
      

  5.   

    写错了, 我是说在 taskmgr.exe 中也查不到对应 exe 程序的进程。更正,汗~~~
      

  6.   

    如果有外部注入的DLL或者其他文件没关闭的和释放的话是不能删除的。
      

  7.   

    我家里电脑用mcafee 做文件及文件夹 保护设置 大多数系统路径的EXE,DLL都不能删除或修改 你找找他是否也存在相关的软件
      

  8.   

    首先看看是否你自己的机器上有病毒,生成的EXE也就带毒了.
    其次,你的程序是否有用到一些VB以外的东西呢?
    再次,试试在程序退出的代码中加一句END
      

  9.   

    知道了 程序没写完整
    end 前 要加卸载窗体语句 
      

  10.   

    知道了 程序没写完整
    end 前 要加卸载窗体语句 
      

  11.   

    程序并没有结束u
      end前要加卸载窗体语句