Code erklärung Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

UnReALiTyy
Posts: 223
Joined: 06 Jun 2017, 11:38

Code erklärung

20 Aug 2018, 05:28

Hallo ich habe ein Script geschrieben bzw. aus einem vorhandenen Beispiel Script aufgebaut.
Dieses Script bringt 1 oder mehrere Fenster in "Alwaysontop" also in "immer im Vordergrund".
Nach nochmaligen aktivieren im gleichen Fenster, wird es wieder normal und auch wenn man das Script beendet wird.

Nun wollte ich wissen was es genau mit denn 2 Rot makierten Codezeilen aufsich hat.
Den ich kann beide löschen und das Script macht trotzdem das was es soll, zumindest scheinbar.
Ich weiß das "StringTrimRight" bedeuted das er das gespeicherte Fenster wieder von der Liste löscht aber brauch man dies unbedingt und wenn ja was hat es für ein genaueren Zweck?
Die 2. Codezeile verstehe ich eigentlich garnicht, bitte da auch um eine Erklärung.

Ich danke schonmal für jede Antwort.

==================================================================
OnExit, ExitSub
return

F1::
click
Sleep, 50
WinGet, ws_ID, ID, A
Loop, Parse, ws_IDList, |
{
IfEqual, A_LoopField, %ws_ID%
{
Winset, Alwaysontop, off, A
ToolTip, entsperrt,,, 20

StringTrimRight, ws_Height, ws_Window%ws_ID%, 0
StringReplace, ws_IDList, ws_IDList, |%ws_ID%
SetTimer, TipOff, -2000
return
}
}
Winset, Alwaysontop, on, A
ToolTip, gesperrt,,, 20

ws_Window%ws_ID% = %ws_Height%
ws_IDList = %ws_IDList%|%ws_ID%
SetTimer, TipOff, -2000
return

ExitSub:
Loop, Parse, ws_IDList, |
{
Winset, Alwaysontop, off, ahk_id %A_LoopField%
}
ExitApp


TipOff:
ToolTip,,,, 20
return
just me
Posts: 9442
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Code erklärung  Topic is solved

20 Aug 2018, 11:14

Moin,

in dem von Dir genannten Beispielskript wird die Höhe der Fenster verändert. Dafür und nur dafür braucht man die roten Codezeilen:

Code: Select all

StringTrimRight, ws_Height, ws_Window%ws_ID%, 0 ; versorgt die Variable ws_Height mit dem vorher unten gespeicherten Wert
...
ws_Window%ws_ID% = %ws_Height% ; speichert die Höhe des aktuellen Fensters
Weil Du das nicht tust, brauchst Du diese Zeilen nicht.

Bereits gespeicherte Fenster werden übrigens mit

Code: Select all

StringReplace, ws_IDList, ws_IDList, |%ws_ID%
aus der Fensterliste gelöscht. ;)
UnReALiTyy
Posts: 223
Joined: 06 Jun 2017, 11:38

Re: Code erklärung

20 Aug 2018, 15:58

just me wrote:Moin,

in dem von Dir genannten Beispielskript wird die Höhe der Fenster verändert. Dafür und nur dafür braucht man die roten Codezeilen:

Code: Select all

StringTrimRight, ws_Height, ws_Window%ws_ID%, 0 ; versorgt die Variable ws_Height mit dem vorher unten gespeicherten Wert
...
ws_Window%ws_ID% = %ws_Height% ; speichert die Höhe des aktuellen Fensters
Weil Du das nicht tust, brauchst Du diese Zeilen nicht.

Bereits gespeicherte Fenster werden übrigens mit

Code: Select all

StringReplace, ws_IDList, ws_IDList, |%ws_ID%
aus der Fensterliste gelöscht. ;)

Achsooo naja jetzt wird mir einiges klar, da hat mich wohl die erklärung auf der AHK hilfe Seite verwirrt, also vielen Dank jetzt macht es sinn. :thumbup: :thumbup: :thumbup:

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 22 guests