2012-10-23 66 views
0

我有一个自定义页面,并添加了一个进度条。现在我有两个功能来控制进度条。一个功能是停止少量服务,另一个功能是从安装位置备份一些文件。如何从两个不同的任务控制进度条

Function myCustomPage 
    Var /GLOBAL progressBar 
    Var /GLOBAL label 
    !insertmacro MUI_HEADER_TEXT "Setup is preaparing to install updates" "Please wait" 
    nsDialogs::Create 1018 
    ${NSD_CreateLabel} 10 15 80% 10% "" 
    Pop $label 
    ${NSD_CreateProgressBar} 10 30 80% 8% "" 
    Pop $progressBar 

    ${NSD_CreateTimer} BackUp_Files.Callback 10 
    ${NSD_CreateTimer} Stop_Services.Callback 10 
    nsDialogs::Show 
FunctionEnd 

Stop_Services回拨功能

Function Stop_Services.Callback 
    ${NSD_SetText} $label "Stopping services" 
    ${NSD_KillTimer} Stop_Services.Callback 
    SendMessage $progressBar ${PBM_SETRANGE32} 0 100 
    SendMessage $progressBar ${PBM_SETPOS} 25 0 
    Sleep 100 
    SendMessage $progressBar ${PBM_SETPOS} 25 0 
    Sleep 100 
    SendMessage $progressBar ${PBM_SETPOS} 50 0 
    Sleep 100 
    SendMessage $progressBar ${PBM_SETPOS} 75 0 
    Sleep 100 
    SendMessage $progressBar ${PBM_SETPOS} 100 0 
FuncionEnd 

同类结构为Backup_files.callback了。 结果: 当我查看标签时,它在“停止服务”和“备份文件”之间切换。 任何人都可以告诉我如何处理这个问题。我想先停止服务,然后我想复制备份文件。在停止服务后需要将进度条设置为0,并重新开始备份文件。我需要在单个自定义页面上执行此操作。

回答

1

只需使用一个定时器并在第一个任务结束时call直接执行第二个任务功能...

相关问题