872777825 发表于 2011-1-4 21:54:49

删除系统文件几秒后会自动跑回来,怎么解决?[已解决]

本帖最后由 872777825 于 2011-1-5 13:40 编辑

小弟想通过au3来删除些系统文件   但不知道哪里出了问题

试过删除前用注册表禁用windows文件保护组策略禁用windows文件保护扫面 都不行

删除后几秒钟 文件又会自动跑回来的   麻烦各位老师帮忙看看 指点一下

需要在以下源码中加入何东西才可以完美解决此问题   谢谢


源码如下#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 623, 449, 192, 114)
$Button1 = GUICtrlCreateButton("Button1", 176, 120, 249, 73)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                        _filedel(@WindowsDir & "\pchealth\helpctr\binaries")
        EndSwitch
WEnd

Func _filedel($dir)
        If StringRight($dir, 1) <> "\" Then $dir &= "\"

        Local $search, $file
        $search = FileFindFirstFile($dir & "*")
        While 1
                $file = FileFindNextFile($search)
                If @error Then ExitLoop

                If StringInStr(FileGetAttrib($dir & $file), "D") Then
                        _filedel($dir & $file)
                Else
                        If $file <> "pchsvc.dll" Then FileDelete($dir & $file)
                EndIf
        WEnd
        FileClose($search)
EndFunc   ;==>_filedel在线等待.........

lixiaolong 发表于 2011-1-4 22:35:37

回复 1# 872777825

你的系统是XP?

C:\WINDOWS\system32\dllcache里面应该有你要删除的文件,

删除方法有2个:

1.先删除C:\WINDOWS\system32\dllcache里面的,再删除系统文件.

2.禁用Windows文件保护.
无法禁用?重启了吗?

872777825 发表于 2011-1-4 22:58:55

回复 2# lixiaolong


    再不动dllcache文件情况下实现

   重启过了

   不过现在删除的问题解决了

   不过会弹出一个文件保护地对话框
   
   发现需停用CryptSvc这个服务才不会弹

但用_rundos不知如何表达

lixiaolong 发表于 2011-1-4 23:53:40

#include <Process.au3>

_rundos("net stop CryptSvc") ;停用
_rundos("net start CryptSvc") ;开始

872777825 发表于 2011-1-5 13:40:21

回复 4# lixiaolong


    谢谢4楼问题解决了   感谢{:face (167):}
页: [1]
查看完整版本: 删除系统文件几秒后会自动跑回来,怎么解决?[已解决]