私はこれについてインターウェブを徹底的に調べましたが、Shift + Tab を再マップして、Steam で見られるようなコンテキスト メニューを表示できる方法があるかどうか疑問に思っていました。これには透明な背景があり、ウィンドウ アイコンはありません。そして、Steam メニューと同じように、役立つものを用意したいと考えています。私は自分でこれをやろうとしましたが、成功しませんでした。誰にもアイデアはありますか?
1 に答える
1
これは、あなたが理解しているよりもはるかに複雑なように感じます。
ウィンドウ アイコンなしでフェード効果を得るコードを次に示します。Shift+を使用しTabます。
#SingleInstance force
#NoTrayIcon
SetBatchLines, -1
SysGet, VirtualWidth, 78
SysGet, VirtualHeight, 79
Transparency := 0
Fade := 0
Settimer, GUI2AlwaysOnTop, 10 ; Keep gui 2 on top
Gui, 1: Default
Gui, Color, 0x000000 ; Color to black
Gui, +LastFound +AlwaysOnTop -Caption +E0x20 ; Click through GUI always on top.
Gui, 1: +owner
WinSet, Transparent, %Transparency%
Gui, Show, x0 y0 w%VirtualWidth% h%VirtualHeight% ; Cover entire screen, may have to adjust X if you have multiple monitors
Return
Shift & Tab::
If (Fade:=!Fade)
FadeIn(500, 40)
Else
FadeOut(500)
Return
FadeIn(TotalTime = 500, TransFinal = 255)
{
StartTime := A_TickCount
Loop
{
Transparency := Round(((A_TickCount-StartTime)/TotalTime)*TransFinal)
WinSet, Transparent, %Transparency%, ahk_class AutoHotkeyGUI
if (Transparency >= TransFinal)
break
Sleep, 10
}
}
FadeOut(TotalTime = 500)
{
StartTime := A_TickCount
Loop
{
Transparency := ((TimeElapsed := A_TickCount-StartTime) < TotalTime) ? 100*(1-(TimeElapsed/TotalTime)) : 0
WinSet, Transparent, %Transparency%, ahk_class AutoHotkeyGUI
if (Transparency = 0)
break
Sleep, 10
}
}
GUI2AlwaysOnTop:
Gui, 2: +AlwaysonTop
return
かなりの量の GUI コードはSmartBrightからのものです。私はこれらのフェード機能を持っていました。他の誰かのスクリプトを好みに合わせて変更したことは知っていますが、ソースが見つかりません。
于 2013-08-21T14:55:38.357 に答える