lichenyao 发表于 2011-4-29 12:20:25

【已解决】请教如何:运行编写的程序后自动重启电脑并自动删除c:\autorun.inf文件

本帖最后由 lichenyao 于 2011-4-29 16:27 编辑

用什么命令可以呢?能提供代码更好,谢谢

lichenyao 发表于 2011-4-29 15:22:13

我顶顶~~~!

yinbinly 发表于 2011-4-29 15:47:40

我有个想法,先写一个程序删除C:文件。在写个程序把它添加到启动这个程序添加完成就重启

lichenyao 发表于 2011-4-29 15:51:25

回复 3# yinbinly


    能给我个代码吗?

mo_shaojie 发表于 2011-4-29 15:53:52

试下这个行不?
FileDelete('C:\autorun.inf')
Run(@ComSpec & "shutdown -r -f -t 0")

lichenyao 发表于 2011-4-29 15:55:29

回复 5# mo_shaojie


    谢谢,我马上试试

飘云 发表于 2011-4-29 15:58:52

本帖最后由 飘云 于 2011-4-29 16:00 编辑

LZ,你难道完全没想法吗?至少把你的思路贴出来啊,这个你是要电脑开机时删除autorun.inf文件还是重启前删除?如果是重启前删除,那就5楼那样,如果要开机后删除,那么此程序可以使用参数运行模式,在重启前向启动项中添加带参数的信息,开机启动后会自动以此参数来运行该程序,然后该参数下执行删除文件和清除启动项信息操作,完成后关闭程序本身,over!

lichenyao 发表于 2011-4-29 16:03:45

回复 7# 飘云


    因为autorun.inf文件当前系统正在使用,所以删除不了,就只能开机时删除。搞了1上午都无法开机后删除。

飘云 发表于 2011-4-29 16:05:53

开机后可以删除吗?不会出现当前系统正在使用的问题?

lichenyao 发表于 2011-4-29 16:08:24

开机时候删除,就不会了。

飘云 发表于 2011-4-29 16:13:11

本帖最后由 飘云 于 2011-4-29 16:15 编辑

临时写了下,有没有问题不知道

#NoTrayIcon
If $CmdLine > 0 Then
        If $CmdLine = "-run" Then _Run();如果以参数-run启动了此程序,则运行函数_Run()
Else
        RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","自己取个名字","REG_SZ",@AutoItExe&" -run");写入启动项
        Shutdown(2+4);强制重启
EndIf

Func _Run()
        FileDelete('C:\autorun.inf');删除文件
        RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","自己取个名字");清除启动信息
        Exit;程序退出
EndFunc

lichenyao 发表于 2011-4-29 16:27:25

哦,可以了,谢谢飘云!!!

mo_shaojie 发表于 2011-4-29 19:49:25

LZ,你难道完全没想法吗?至少把你的思路贴出来啊,这个你是要电脑开机时删除autorun.inf文件还是重启前删除 ...
飘云 发表于 2011-4-29 15:58 http://www.autoitx.com/images/common/back.gif

说得极是,思路不正确,就达不到想的效果.
页: [1]
查看完整版本: 【已解决】请教如何:运行编写的程序后自动重启电脑并自动删除c:\autorun.inf文件