Page 1 of 1

Anrufleiste

Posted: 17 Nov 2023, 04:58
by matthias_hpunkt
Moin, ich habe eine Anrufleiste geschrieben. Wenn man auf Button5 klickt, dann soll sie sich minimieren. Das klappt soweit. Jetzt soll sie aber nach eine bestimmt Zeit (sagen wir 10min) wieder erscheinen. Dabei aber nicht aktiv sein. So dass man nicht ausversehen einen Button klickt. Habt ihr eine idee wie ich das mache?

Mit Sleep-Funktion ist es wahrscheinlich möglich, aber wenn man die Anrufleiste dann vorzeitig benutzen will, dann gibts evtl. Probleme, oder?

Code: Select all

; GUI erstellen
Gui, +AlwaysOnTop -Caption +Border
;Gui, +Resize  ; Größe anpassen
;Gui, Add, Text, x10 y10 w800 h20, Klicken Sie auf einen der Buttons
Gui, Add, Picture, x1 y1 w35 h36 gButton1, Button1_Glocke.png
Gui, Add, Button, x36 y1 w90 h36 gButton2, Werkstattruf (Windows-Taste)
Gui, Add, Picture, x127 y1 w35 h36 gButton3, Button3_Telefonhörer.png
Gui, Add, Button, x162 y1 w90 h36 gButton4, Büro anrufen
Gui, Add, Button, x300 y1 w90 h36 gButton5, Fenster Minimieren
;Gui, Add, Button, x390 y1 w90 h36 gButton6, Fenster zurücksetzen

; GUI anzeigen
Gui, Show, NA x1000 y1 w391 h38, Anrufleiste

return

Button5:
    WinMinimize, A
	Sleep, 20000
	WinRestore, fastcall
return

Danke für eure Hilfe!

Re: Anrufleiste

Posted: 17 Nov 2023, 06:08
by just me
Moin,

vielleicht passt das:

Code: Select all

; GUI erstellen
Gui, +AlwaysOnTop -Caption +Border +hwndHGUI ; <<<<< hwnd Option zugefügt
;Gui, +Resize  ; Größe anpassen
;Gui, Add, Text, x10 y10 w800 h20, Klicken Sie auf einen der Buttons
Gui, Add, Picture, x1 y1 w35 h36 gButton1, Button1_Glocke.png
Gui, Add, Button, x36 y1 w90 h36 gButton2, Werkstattruf (Windows-Taste)
Gui, Add, Picture, x127 y1 w35 h36 gButton3, Button3_Telefonhörer.png
Gui, Add, Button, x162 y1 w90 h36 gButton4, Büro anrufen
Gui, Add, Button, x300 y1 w90 h36 gButton5, Fenster Minimieren
;Gui, Add, Button, x390 y1 w90 h36 gButton6, Fenster zurücksetzen
; GUI anzeigen
Gui, Show, NA x1000 y1 w391 h38, Anrufleiste
Return

Button1:
Button2:
Button3:
Button4:
Return

Button5:
   Gui, Minimize ; Fenster minimieren
   SetTimer, ShowGui, -600000 ; Fenster nach 600 Sekunden / 10 Minuten wiederherstellen
Return

ShowGui:
   WinGet, MM, MinMax, ahk_id %HGUI%
   If (MM = -1) ; wenn das Fenster minimiert ist
      Gui, Show, NoActivate
Return

Re: Anrufleiste  Topic is solved

Posted: 17 Nov 2023, 11:04
by matthias_hpukt
Danke just me! Das funzt schon mal!! Werde das mal länger testen.

Nur aus Interesse: warum muss die Zeitangabe bei SetTimer in Minus gesetzt werden? Kannte das bisher nur als positive Angabe/Zahl.

Re: Anrufleiste

Posted: 18 Nov 2023, 11:55
by just me
Moin,

das Minuszeichen bewirkt, dass der Timer nach der vorgegebenen Zeit nur einmal ausgeführt wird.