最近电脑出现几个病毒,卡巴斯基都删除不掉,我想用vb实现删除文件,vb 里面有kill 函数 和API 函数 Public Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long    这两个函数肯定不行,请高手,大家帮忙想个啥办法,能彻底的删除文件?大家讨论一下

解决方案 »

  1.   

    本帖最后由 bcrun 于 2011-03-27 20:55:44 编辑
      

  2.   

    建议用冰刃(Icesword)的强制删除文件 
      

  3.   

    假如是ntfs格式的磁盘
    先对文件权限作限制 读取修改创建 只留删除权限(文件右键属性->安全->高级->权限-> 选择administrators->编辑 拒绝那列全部勾上 除了删除)
    然后删除注册表相关项 重启电脑 删除病毒文件
      

  4.   

    文件删不掉是因为,那个文件可能受正在运行进程的保护,所以删不掉,其实一般的强制删文件的原理,就是直接写硬盘数据区(也就是说你要熟悉NTFS或FAT32格式分的硬盘区从而通过文件目录表定位到要删除的文件簇,然后删除它)可以通过CreateFile直接读写扇区数据.
      

  5.   

    建议你看下我这篇文章及相关文件
    http://blog.csdn.net/chenhui530/archive/2007/10/18/1831372.aspx
      

  6.   

    试试用 API 将所有进程关闭,然后再删除。
      

  7.   

     最近我朋友电脑盘上 发现了一个auto.exe 病毒,怎么删除都删除不掉,气死人,把它删掉,刷新一下,就又会出现,我想自己用vb把这个病毒删除掉,(我发现这个病毒,也没有运行)请问大家(陈辉老师)用vb 代码怎么写,今天朋友再说我,哎..你是学vb的怎么连这都删除不了,白学了,晚上睡觉,睡不着,想了半天,还是没有想出个好办法,哎....这个病毒怎么删除呢???现在给大家发个贴子,想看看大家,有什么办法(其实,可以在网上下一个专杀,但是我就用vb写,我喜欢vb)
      

  8.   

    怎么找出 auto.exe 所关联的全部资源文件,删除把它们全部灭了
      

  9.   

    如果哪个auto.exe能删掉,但是删掉后一刷新又有了,哪说明你没有找到真正的病毒进程,哪个病毒进程自动生成哪个auto.exe,你必须先结束掉哪个病毒进程,才能删掉哪个文件
      

  10.   

    不知道有什么办法通过auto.exe这个文件,找到和它相关联的文件,然后把所有关联的文件,结束进程并且删除掉
      

  11.   

    网上一些专杀工具用了 DOS 批处理。
    原理即找到和它相关联的文件,然后把所有关联的文件,结束进程并且删除掉,修改注册表。
    这样简单好学一些。
      

  12.   

    楼上说的对,要删除文件不能,关键是要先结束病毒控制程序病毒文件在WIN中存储也不过是普通文件,无所谓顽固
      

  13.   

    .直接删除正在使用的文件,API都不行.则首先结束掉控制程序的线程.其次删除文件即可.
    线程插入技术可以帮你.
      

  14.   

    对付一些白痴病毒,其实还有好办法。你自己创建一个auto.exe的目录。就可以了。
      

  15.   

    对付auto.exe的办法:与auto.exe同目录有个隐藏的autoexe.inf之类的文件,打开把里面关于auto.exe的值删掉就没事了。这样的话只要不点击auto.exe,就不会自动运行了。
      

  16.   

    KB 杀不掉的 VB很难实现..建议使用专用的工具!顽固文件删除工具:Unlocker
    http://download.csdn.net/source/330476
      

  17.   

    很想知道Unlocker删除文件的原理,特别是非法文件名
      

  18.   

    我认为可不可以在删除文件的同时生成一个与“Auto.exe"同名的文件,并把他的属性设为“只读”什么的,来“顶替”原来的文件(这是个不是编程的人的办法,不建议采用)
      

  19.   

    首先,没有保护进程也可以有保护驱动
    只要驱动在运行,那么结束进程也没用,
    你在发出删除请求的时候就被驱动给拦截了(内核态hook之类的手法)
    对于这种,使用VB是没有办法删除的(除非界面用VB写,实现逻辑[驱动]使用C/C++)
      

  20.   

    会不会是双进程病毒,我听说有一些病毒开了两个进程,两个进程互相监控,任意一个被结束了,另一个就在启动一次,时刻保持着两个进程的状态,你无论怎么关闭都还是不够他启动得快,怎么都无法结束他的进程。除非你在安全模式下找到他的注册表启动设置,找到他的所有EXE文件,在360那些软件设置好阻止运行,接着删掉所有有关的EXE文件才有可能删掉病毒
      

  21.   

    Private Declare Function MoveFileEx Lib "kernel32" Alias "MoveFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal dwFlags As Long) As Long
    Private Const MOVEFILE_DELAY_UNTIL_REBOOT = &H4
    Private Const MOVEFILE_REPLACE_EXISTING = &H1
    'api声明
    Private Sub Command1_Click()
        MoveFileEx "c:\nsa\note.ns", vbNullString, MOVEFILE_DELAY_UNTIL_REBOOT  '把原来文件kill
    End Sub