dnvplj 发表于 2012-9-21 20:32:06

关于进度条的问题

本帖最后由 dnvplj 于 2012-9-22 02:21 编辑

下面的代码是弹出光驱+卸载U盘,请问各位朋友:“进度条”如何从开始到结束都显示。;1退出光驱
Dim $var=DriveGetDrive("CDROM")
CDTray($var,"open")
TrayTip("通知","光驱已弹出,稍后自动关闭!",1)
Sleep(5000)
CDTray($var,"closed")
;2退出U盘
Run("Rundll32 Shell32.dll,Control_RunDLL HotPlug.dll",@SystemDir);调用对话框
WinWait("安全删除硬件","硬件设备(&H):")
WinActivate("安全删除硬件","硬件设备(&H):")
Send("!S")
WinWait("停用硬件设备","确认被停止的设备")
WinActivate("停用硬件设备","确认被停止的设备")
ControlClick("停用硬件设备","确认被停止的设备","Button1")
WinWait("安全删除硬件","关闭(&C)")
WinActivate("安全删除硬件","关闭(&C)")
ControlClick("安全删除硬件","关闭(&C)","Button3")
ProgressOn("程序正在卸载U盘", "10秒将关闭程序", "0 %")
For $i = 10 to 100 step 10
    sleep(1000)
    ProgressSet( $i, $i & " %")
Next
ProgressSet(100 , "完成", "卸载U盘成功,请把出U盘")
sleep(500)
ProgressOff()
Exit
;3进度条
ProgressOn("程序正在卸载U盘", "10秒将关闭程序", "0 %")
For $i = 10 to 100 step 10
    sleep(1000)
    ProgressSet( $i, $i & " %")
Next
ProgressSet(100 , "完成", "卸载U盘成功,请把出U盘")
sleep(500)
ProgressOff()
Exit

dnvplj 发表于 2012-9-22 13:01:55

各位朋友,请帮一下贝.

dnvplj 发表于 2012-9-23 19:44:42

请问,难到论坛真的没有会的吗?还是我说的不具体?请各位提教。

xiehuahere 发表于 2012-9-24 10:22:12

回复 1# dnvplj

ProgressOn 放到开始;
ProgressSet 穿插在你所做的卸载动作中间,不需要用For循环,多写几条即可;
ProgressOff 放到最后。

这样,就是你所说的“从开始到结束都显示”。

jsgh1983 发表于 2012-9-24 11:30:32

是从弹出光驱开始显示进度到弹出U盘显示成功吗?那这个ProgressOn不应该放在中间呀?

dnvplj 发表于 2012-9-24 12:31:40

本帖最后由 dnvplj 于 2012-9-24 12:52 编辑

ProgressOn 放到开始;
ProgressSet 穿插在你所做的卸载动作中间,不需要用For循环,多写几条即可;
ProgressOff 放到最后。

脚本开始时起动了"进度条",但"进度条"不走.请各位朋友帮把上面的3个代码给整合到一起.谢谢了.

piaoa_998 发表于 2012-9-26 15:49:36

ProgressOn("程序正在卸载U盘", "10秒将关闭程序", "0 %")
For $i = 10 to 100 step 10
    sleep(1000)
    ProgressSet( $i, $i & " %")
Next
ProgressSet(100 , "完成", "卸载U盘成功,请把出U盘")
sleep(500)
ProgressOff()
Exit
;3进度条
ProgressOn("程序正在卸载U盘", "10秒将关闭程序", "0 %")
For $i = 10 to 100 step 10
    sleep(1000)
    ProgressSet( $i, $i & " %")
Next
ProgressSet(100 , "完成", "卸载U盘成功,请把出U盘")
sleep(500)
ProgressOff()

为什么搞两个重复的进度条?
页: [1]
查看完整版本: 关于进度条的问题