在 Autohotkey 论坛的一些片段的帮助下,我使用 Autohotkey 制作了一个简单的计时器,就像浏览器中许多网页上的页面加载栏一样,但适用于 Windows。
现在它按预期工作,具有以下功能:
- 留在屏幕顶部
- 占用很少的屏幕空间(仅 4px 高度)
- 单击通过和 Tranasparent(不会阻止我将鼠标悬停在右上角以关闭窗口)
- 很简单,只需将 .ahk 代码更改为配置颜色、时间、大小等。
但是,我注意到当透明度设置为 100 时,总是有一个灰色的透明背景,
有人知道我可以调整任何参数以使进度条没有背景吗?
此处为这个简单的计时器提供完整的 Autohotkey 代码:
#Persistent
WinTitle = toptimer
Gui,New,hwndMyGui
global MyProgress
; 30 minutes
time := 30 * 60 * 1000
tick:=A_TickCount+time
Gui, +E0x20 -Caption +AlwaysOnTop +Owner +LastFound
; Gui, -Caption +AlwaysOnTop +Owner +LastFound
WinSet, Transparent, 100
; Gui,Margin,0,0
Gui,Margin,-1,-1
Gui,Add,Progress,w1920 h4 cbFF0000 Range%A_TickCount%-%tick% vMyProgress
; Gui,Show,NA
Gui, Show, x0 y0 w%A_ScreenWidth%
While A_TickCount<=tick {
GuiControl,,MyProgress,% A_TickCount
Sleep 16
}
Gui,Destroy
ExitApp
感谢@0x464e 的好建议,
现在我只画一个单色 gui 并改变它的宽度
#Persistent
Gui,New,hwndMyGui
time := 1 * 60 * 1000
tick:=A_TickCount+time
Gui, +E0x20 -Caption +AlwaysOnTop +Owner +LastFound
WinSet, Transparent, 100
Gui, Color, FF0000
While A_TickCount<=tick {
width0 := A_ScreenWidth * (1 - (tick - A_TickCount)/time)
Gui, Show, x0 y0 w%width0% h5
Sleep 16
}
Gui,Destroy
ExitApp
这使得代码更加简单,背景也消失了。但是当这个计时器运行时,鼠标左键不起作用,点击资源管理器的右上角最小化/恢复/关闭不起作用。
但是 vscode 的最小化/恢复/关闭按钮工作正常。
退出计时器后,一切正常。
有人帮助弄清楚为什么会发生这种情况。