WinSetTransparent

Macht ein bestimmtes Fenster halbtransparent.

WinSetTransparent N, FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Parameter

N

Typ: Integer oder Zeichenkette

Um ein Fenster transparent zu machen, geben Sie eine Zahl zwischen 0 und 255 für die Transparenzstärke an: 0 macht das Fenster durchsichtig und 255 undurchsichtig.

Geben Sie "Off" (nicht Groß-/Kleinschreibung-sensitiv) oder eine leere Zeichenkette an, um die Transparenz eines Fensters komplett zu deaktivieren. Dies hat denselben Effekt wie WinSetTransColor "Off". Das Wort Off unterscheidet sich vom Wert 255, da es die Performanz verbessern und den Verbrauch von Systemressourcen verringern kann (aber wahrscheinlich nur, wenn die Desktopgestaltung deaktiviert ist).

FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Typ: Zeichenkette, Integer oder Objekt

Wenn jeder dieser Parameter leer ist oder weggelassen wird, wird das Zuletzt Gefundene Fenster verwendet. Andernfalls geben Sie für FensterTitel einen Fenstertitel oder andere Kriterien zur Identifizierung des Zielfensters und/oder für FensterText eine Teilzeichenkette aus einem Textelement des Zielfensters an (Textelemente können mit dem internen Tool "Window Spy" in Erfahrung gebracht werden).

AusnahmeTitel und AusnahmeText können verwendet werden, um ein oder mehrere Fenster anhand ihres Titels oder Textes auszuschließen. Ihre Angabe ähnelt der von FensterTitel und FensterText, außer dass AusnahmeTitel keine anderen Kriterien als den Fenstertitel erkennt.

Fenstertitel und -texte sind Groß-/Kleinschreibung-sensitiv. Standardmäßig werden versteckte Fenster nicht erkannt und versteckte Textelemente erkannt, was mit DetectHiddenWindows und DetectHiddenText geändert werden kann. Standardmäßig kann ein Fenstertitel den angegebenen FensterTitel oder AusnahmeTitel an beliebiger Stelle enthalten, um eine Übereinstimmung zu sein, was mit SetTitleMatchMode geändert werden kann.

Fehlerbehandlung

Es wird ein TargetError ausgelöst, wenn das Fenster nicht gefunden werden konnte.

Es wird ein OSError ausgelöst, wenn die Änderung nicht angewendet werden konnte.

Bemerkungen

Mit WinSetTransparent 150, "ahk_class Shell_TrayWnd" kann die Taskleiste transparent gemacht werden. Um das klassische Startmenü transparent zu machen, siehe Beispiel #2. Um die Untermenüs des Startmenüs transparent zu machen, fügen Sie zusätzlich das Skript aus Beispiel #3 ein.

Wenn die Transparenzstärke vor der Verwendung von Off auf 255 gesetzt wird, können Probleme beim Neuzeichnen von Fenstern, wie z.B. ein schwarzer Hintergrund, vermieden werden. Wenn das Fenster immer noch nicht korrekt neu gezeichnet wird, finden Sie unter WinRedraw einen möglichen Workaround.

Mit MouseGetPos kann die ID des Fensters unter dem Mauszeiger abgerufen werden.

WinSetTransColor, Win-Funktionen, Control-Funktionen

Beispiele

Macht Notepad ein wenig transparent.

WinSetTransparent 200, "Unbenannt - Editor"

Macht das klassische Startmenü transparent (um auch die Untermenüs des Startmenüs transparent zu machen, siehe Beispiel #3).

DetectHiddenWindows True
WinSetTransparent 150, "ahk_class BaseBar"

Macht alle oder bestimmte Menüs systemweit transparent, sobald sie erscheinen. Beachten Sie, dass so ein Skript nur die Menüs von anderen Skripten transparent machen kann, nicht seine eigenen.

SetTimer AufMenüWarten, 5

AufMenüWarten()
{
    DetectHiddenWindows True  ; Könnte eine frühere Erkennung des Menüs ermöglichen.
    if WinExist("ahk_class #32768")
        WinSetTransparent 150  ; Verwendet das gefundene Fenster von der Zeile darüber.
}

Zeigt die Effekte von WinSetTransparent und WinSetTransColor. Hinweis: Wenn Sie einen dieser Hotkeys drücken, während sich der Mauszeiger über einem Pixel befindet, das mit TransColor unsichtbar gemacht wurde, interagiert der Hotkey stattdessen mit dem Fenster hinter dem Pixel!

#t::  ; Drücken Sie WIN+T, um die Farbe unter dem Mauszeiger unsichtbar zu machen.
{
    MouseGetPos &MausX, &MausY, &MausFenster
    MausRGB := PixelGetColor(MausX, MausY)
    ; Scheinbar muss zuerst eine vorhandene Transparenz ausgeschaltet werden:
    WinSetTransColor "Off", MausFenster
    WinSetTransColor MausRGB " 220", MausFenster
}

#o::  ; Drücken Sie WIN+O, um die Transparenz des Fensters unter dem Mauszeiger auszuschalten.
{
    MouseGetPos ,, &MausFenster
    WinSetTransColor "Off", MausFenster
}

#g::  ; Drücken Sie WIN+G, um die aktuellen Einstellungen des Fensters unter dem Mauszeiger anzuzeigen.
{
    MouseGetPos ,, &MausFenster
    TransStärke := WinGetTransparent(MausFenster)
    TransFarbe := WinGetTransColor(MausFenster)
    ToolTip "Durchsichtigkeit:`t" TransStärke "`nTransFarbe:`t" TransFarbe
}