Fenster Titelleiste blinken lassen

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Fenster Titelleiste blinken lassen

Beitrag von Leo »

Code: Alles auswählen

;Fenster öffnen
hwnd = OpenWindow(0,0,0,200,200,#PB_Window_ScreenCentered|#PB_Window_SystemMenu,"Flash Window")

;Die Strukture FLASHWINFO wird für den 
;Win Api Befehl FlashWindowEx_() gebraucht
Structure FLASHWINFO
  cbSize.l
  hwnd.l
  dwFlags.l
  uCount.l
  dwTimeout.l
EndStructure 

;Variable mit der Strukture FLASHWINFO erstellen
Info.FLASHWINFO

;Größe der Strukture in Bytes
Info\cbSize = SizeOf(FLASHWINFO) 

;Die Titelleiste welches Fensters blinken soll
Info\hwnd   = hwnd 

;Flags:
;#FLASHW_CAPTION: Lässt nur die Titelleiste blinken (In Hex: $5)
;#FLASHW_TRAY   : Lässt nur das Teil in der Taskbar blinken  (In Hex: $6)
;#FLASHW_ALL    : Beides zusammen (In Hex: $7)
;Es gibt noch mehr Flags, die aber meiner Meinung nach nicht 
;nützlich sind
Info\dwFlags= $7;#FLASHW_ALL

;Wie oft das Fenster blinken soll.
;Wenn null angegeben wird, dann blinkt
;das Fenster immer
Info\uCount = 0

;Wie lange zwischen dem blinken gewartet werden soll (in Millisekunden),
;Wenn null angegeben wird, dann wird die Standart Blinkwartezeit
;gewählt
;Info\dwTimeout=0
Info\dwTimeout = 200

;Jetzt die Parameter übergeben und die Funktion aufrufen
FlashWindowEx_(Info) 

;Hauptschleife
Repeat : Until WindowEvent() = #PB_Event_CloseWindow
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Wow

Beitrag von Hroudtwolf »

Net schlecht Herr Specht. Gefällt mir sehr.
Benutzeravatar
KatSeiko
Beiträge: 367
Registriert: 19.07.2008 07:47

Beitrag von KatSeiko »

Windows hat doch auch nen Standardwert für die Anzahl zu blinken... Wie verwende ich die?

Und wie kann man das Blinken nachher wieder abstellen (uCount = 0 ist nach ner halben Stunde nervig, vor allem wenn PB blinkt!)
Win7 Ultimate x64, PureBasic 5.11

There is no substitute..
BildBildBild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Info\uCount = 3 ?
Wird dann nur 3x blinken :wink:

\\Edit:
Wenn du die eingestellte Anzahl von Windows ermitteln möchtest: HKEY_CURRENT_USER\Control Panel\Desktop\ -> ForegroundFlashCount
Standardmäßig ist es immer 3.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Andesdaf
Moderator
Beiträge: 2671
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

Witzig...
endlich weiß ich wie man diesen Blinkeffekt in der Taskleiste erzeugt.
Win11 x64 | PB 6.20
Antworten