AutoHotKey:如何移动进度条

时间:2017-06-08 21:02:38

标签: autohotkey

我有一个工作进度条,并希望将其移动到屏幕的左上角。我使用x0 y0 w300来控制位置和大小。

但是这样做我的%progress_bar_percentage%停止了更新。我想问一下,是否可以让位置和进度条%同时工作?

a = %counter%
b = %CaseArrayCount%
progress_bar_percentage := Round(((a/b) * 100), 2)

; Draw the progress bar on the screen
Progress, x0 y0 w300, %progress_bar_percentage%, %progress_bar_percentage%`%, System Processing , Sample APP

参考:https://autohotkey.com/docs/commands/Progress.htm

1 个答案:

答案 0 :(得分:1)

文档实际上说只有在进度窗口不存在时才能使用options

  

如果进度窗口不存在:新的进度窗口是   创建(替换任何旧的),Param1是一个零或者字符串   以下列表中的更多选项。

这意味着您只能在创建进度条窗口时在最开始设置位置:

Progress, x0 y0, 0`%, System Processing , Sample APP

Loop, 100 {
    Progress, %A_Index%, %A_Index%`%, System Processing , Sample APP
    Sleep, 100
}

如果您尝试在循环中使用选项,您将看到每次迭代都会销毁和新创建的进度窗口,并忽略进度值。根据文档if Param1 is an pure number, its bar's position is changed to that value,您实际上无法同时执行选项和进度值。

没有黑客,你可以做的最好的事情可能是:

Loop, 10 {
    value := A_Index*10
    Progress, x%value% y%value%, %A_Index%`%, System Processing , Sample APP
    Progress, % value, % value "%", System Processing , Sample APP
    Sleep, 1000
}