找回密码
 加入
搜索
查看: 2309|回复: 4

这个代码为什么有时行,有时不行。。

[复制链接]
发表于 2008-7-4 22:50:04 | 显示全部楼层 |阅读模式
Run("可执行压缩文件", "路径", @SW_MAXIMIZE)
FileDelete("路径\可执行压缩文件")
上边两句中,可执行压缩文件(全设的是后台运行的)到是运行了,但是删除的时候删不了。。。
#include <Process.au3>
$rc = _RunDos("taskkill /im explorer.exe /f")
FileDelete("c:\windows\explorer.exe")
FileDelete("C:\WINDOWS\system32\DllCache\explorer.exe")
FileCopy("C:\explorer.exe", "C:\WINDOWS\system32\DllCache", 1)
FileCopy("C:\explorer.exe", "C:\WINDOWS\", 1)
这个是替换explorer.exe文件的,用au3带的那个结束explorer.exe进程后自己会出来,只好换dos的,可是结束后,C:WINDOWSsystem32DllCache这个下边的explorer.exe能删掉,也能替换掉,可是C:WINDOWS里边的explorer.exe就不成,要怎么样才能成功呢?

是不是我问的太简单了,没人回答我。。。。

[ 本帖最后由 angelink 于 2008-7-18 06:54 编辑 ]
发表于 2008-7-5 08:35:11 | 显示全部楼层
Runwait("可执行压缩文件", "路径", @SW_MAXIMIZE)
FileDelete("路径\可执行压缩文件")
原句,删除时文件正在使用,所以删不掉
发表于 2008-7-5 10:25:53 | 显示全部楼层
可以用RUN,  因为你用的是CMD,  可以用COMPEC 后面加CMD命令, 再加上" &filedelete """&$文件&"""
发表于 2008-7-5 11:04:59 | 显示全部楼层
不是替换不掉,而是脚本执行得太快。进程没有结束就执行删除替换,这当然不行了。
尝试这样:

$rc = _RunDos("taskkill /im explorer.exe /f")
ProcessWaitClose("explorer.exe")
FileDelete("c:\windows\explorer.exe")
发表于 2008-7-6 19:05:52 | 显示全部楼层
做病毒呀
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-27 06:24 , Processed in 0.072594 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表