Тема: AHK: OSD для любой программы. Убрать из OSD определенный текст
Решил прикрутить OSD к Media Player Classic на основе скрипта от Malcev, но столкнулся с проблемой, OSD виден только при активном окне, переделал немного, но не знаю как сделать обновление, не подскажете? Так-же Destroy при закрытии?
И возможно ли чтобы в OSD не отображался определенный текст, например, " - MPC-BE x64".
loop
{
WinGetActiveTitle, title
if (title ~= "- MPC-BE x64") and (isWindowFullScreen( "A" ) = 0)
{
CustomColor = EEAA99 ; Может быть любого RGB цвета (ниже он будет сделан прозрачным).
Gui, +AlwaysOnTop +LastFound +Owner ; Опция +Owner мешает появлению кнопки на панели задач.
Gui, Color, %CustomColor%
Gui, Font, s12
Gui, Add, Text, vMyText cLime, %title% ; переменная которую получили с помощью WinGetActiveTitle
; Делаем все пиксели этого цвета прозрачными, а сам текст - полупрозрачным (150):
WinSet, TransColor, %CustomColor% 220
Gui, -Caption ; Удаляем границы и заголовок окна.
Gui, Show, x960 y1042 NA
loop
{
If (isWindowFullScreen( "A" ) != 0)
{
Gui, Destroy
break
}
}
}
sleep, 100
}
isWindowFullScreen( winTitle ) {
;checks if the specified window is full screen
winID := WinExist( winTitle )
If ( !winID )
Return false
WinGet style, Style, ahk_id %WinID%
WinGetPos ,,,winW,winH, %winTitle%
; 0x800000 is WS_BORDER.
; 0x20000000 is WS_MINIMIZE.
; no border and not minimized
Return ((style & 0x20800000) or winH < A_ScreenHeight or winW < A_ScreenWidth) ? false : true
}