lzlcn 发表于 2011-3-17 11:56:47

想制作一个清理系统垃圾工具但不会连接进度条

本帖最后由 lzlcn 于 2011-3-17 11:58 编辑

想制作一个清理系统垃圾工具但不会连接进度条,但怎么连接进度条呢。并在右下角提示处时时显示删除的内容最佳!#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 352, 120, 267, 300)
$Button1 = GUICtrlCreateButton("清理系统垃圾文件", 56, 16, 123, 33)
$Button2 = GUICtrlCreateButton("退出", 224, 16, 81, 33)
$Progress1 = GUICtrlCreateProgress(8, 72, 337, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $Button1
                        ToolTip(@CR & '正在清除系统垃圾,请稍候...' & @CR, @DesktopWidth - 250, @DesktopHeight - 100)
                 RunWait(@ComSpec & " /c " & "del /f /s /q %systemdrive%\*.tmp &del /f /s /q %systemdrive%\*._mp &del /f /s /q %systemdrive%\*.log &del /f /s /q %systemdrive%\*.gid &del /f /s /q %systemdrive%\*.chk &del /f /s /q %systemdrive%\*.old &del /f /s /q %systemdrive%\recycled\*.* &del /f /s /q %windir%\*.bak &del /f /s /q %windir%\prefetch\*.* rd /s /q %windir%\temp md %windir%\temp &del /f /q %userprofile%\recent\*.* &del /f /s /q %userprofile%\Local Settings\Temporary Internet Files\*.* &del /f /s /q %userprofile%\Local Settings\Temp\*.* &del /f /s /q %userprofile%\recent\*.*", "", @SW_HIDE)

                 MsgBox(64, "提示", "清除完毕!", 5)
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button2
                        Exit
               

        EndSwitch
WEnd

guang19831217 发表于 2011-3-17 12:26:59

本帖最后由 guang19831217 于 2011-3-17 12:31 编辑

帖子11 精华0 积分16 威望0 点 金钱1007 块

大大你好厉害哦。

支持下。偶也想知道cmd怎么精确做到。

fhefh 发表于 2011-3-17 12:30:09

学习下 O(∩_∩)O哈哈~

boyhong 发表于 2011-3-17 13:08:47

我在虚机里,不方便,没有au3环境, 实现方法这样成么?
你用run 这个垃圾清理,返回一下PID 然后: do until 来更新进度条, 直到这个pid运行结束没有了...
会了吧?

lzlcn 发表于 2011-3-17 15:31:43

回复 4# boyhong

不好意思,还是新手,不懂pid是什么。还望能提供下代码

wsfda 发表于 2011-3-17 15:39:45

顶一下,...也想知道

bingxing8000 发表于 2011-3-18 08:30:42

不会进度条,看看,学习学习。。

hsyihao 发表于 2011-3-18 10:28:33

这个要学习学习```

xlcwxl 发表于 2011-3-19 11:17:10

6#的办法也是可以的

lzlcn 发表于 2011-3-19 14:10:00

回复 6# sliqi


    确实是一个方法。赞一个

fhefh 发表于 2011-3-19 18:12:47

贴一个脚本,花钱买的
希望对你有帮助

fhefh 发表于 2011-3-19 18:13:54

还有一个 漏掉了 补上
这是论坛中找到的 希望有帮助:-)Dim $wizard,$landy,$size,$down;定义变量
$wizard="http://www.duote.com/server/getfile.php?uri=http://41.duote.org/znabc5.23.exe&id=907";定义下载地址
$landy="c:\智能Abc.exe";定义下载存入的地址
$down=InetGet($wizard , $landy,1,1 );开始下载,后面的两个 1 请参考帮助
ProgressOn("智能ABC","正在下载,请稍后....");创建进度条
While 1 ;设置进度百分比的循环体
        If InetGetInfo($down,2) = True Then ExitLoop;如果下载完成,就会为真,就会退出这个循环
        $BFB = Round(InetGetInfo($down,0) / InetGetInfo($down,1),2) * 100;计算出百分比
        TrayTip(InetGetInfo($down,0),InetGetInfo($down,1),10);这里是用来调试的,可以去除
        ProgressSet($BFB,'已经下载了: ' & $BFB & '%');显示出来
        Sleep(100)
WEnd;循环体结束;当然要在条件不成立的情况下。
ProgressSet(100,"下载完成了!");最后这里设置成下载完成,不设置也可, 因为用户只会看到一个一闪而过的画面
ProgressOff();关闭进度条
If MsgBox(32+4,'提示','已经下载完成了, 是否打开文件 ?') = 6 Then;如果用户点了 “是” 得到的值就会是6,条件成立,就会执行下面的
        Run($landy);运行下载过来的文件
EndIf

浪迹红客 发表于 2011-3-24 09:26:50

学习了,楼主

haijie1223 发表于 2011-3-25 13:29:53

感谢fhefh...............
页: [1]
查看完整版本: 想制作一个清理系统垃圾工具但不会连接进度条