夜に暗い部屋でPC作業する時に、PangoBrightというソフトでマルチディスプレイの明るさをまとめて調整していたが、AutoHotkeyでも同様のことができた。
参考: 3 ways to dim the screen
https://www.autohotkey.com/boards/viewtopic.php?t=39580
3番目のスクリプトを参考にしたが、最初にマルチモニタ全体のサイズを出しておき、GUIで黒い半透明のレイヤーを表示させる。
Win+Alt+8、9で黒いレイヤーの透明度をDimに代入し実行、Win+Alt+0でもとに戻す。
#!0::GUI, Destroy
#!9::
{
Dim := 127 ; 0 (Bright) ~ 255 (Black)
Gosub, DimScreen
Return
}
#!8::
{
Dim := 191 ; 0 (Bright) ~ 255 (Black)
Gosub, DimScreen
Return
}
DimScreen:
{
WinGet, hWnd, ID, A
global MonitorLeft, MonitorRight, MonitorTop, MonitorBottom
global PrevMonitorLeft := 0, PrevMonitorRight := 0, PrevMonitorTop := 1, PrevMonitorBottom := 1
SysGet, MonitorCount, MonitorCount
Loop, %MonitorCount%
{
SysGet, Monitor, Monitor, %A_Index%
MonitorLeft := min(MonitorLeft, PrevMonitorLeft)
MonitorRight := max(MonitorRight, PrevMonitorRight)
MonitorTop := min(MonitorTop, PrevMonitorTop)
MonitorBottom := max(MonitorBottom, PrevMonitorBottom)
PrevMonitorLeft := MonitorLeft
PrevMonitorRight := MonitorRight
PrevMonitorTop := MonitorTop
PrevMonitorBottom := MonitorBottom
}
Gui, Color, 000000
Gui, -Caption +AlwaysOnTop +E0x20 +HwndhGui +ToolWindow
Gui, Show, % Format("x{} y{} w{} h{}", MonitorLeft, MonitorTop, MonitorRight - MonitorLeft, MonitorBottom - MonitorTop), dimmer
WinSet, Transparent, % Dim, % "ahk_id " hGui
WinActivate, % "ahk_id " hWnd
Return
}
0 件のコメント:
コメントを投稿