Seite 1 von 1

SysTray refreshen

Verfasst: 20.07.2015 14:01
von Sven
Ich habe unter WinXP das Problem, daß die Icons im SysTray sehr unzuverlässig refreshed werden.

Ich öffne einige Programme mit verstecktem Fenster und SysTray-Icon. Schließe ich die Programme, bleiben trotzdem mitunter einige der Icons stehen. Manchmal wird auch die Tray-Anzeige völlig durcheinandergewürfelt.

Gibt es eine Möglichkeit, den SysTray zum Refresh aufzufordern? Oder muß man damit leben?

Re: SysTray refreshen

Verfasst: 20.07.2015 14:12
von RSBasic
Das Icon-Problem kenne ich nur, wenn die Anwendung abgestürzt ist. Wurde deine Anwendung auch ordnungsgemäß beendet?
Ansonsten konnte ich bei mir noch nie so ein Ereignis feststellen.

Kannst du das Problem auch mit folgendem Code nachstellen?:

Code: Alles auswählen

EnableExplicit

CreateImage(1, 16, 16, 24, RGB(0, 0, 255))

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  AddSysTrayIcon(1, WindowID(0), ImageID(1))
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf
Und hast du auch mal mit Windows 7 getestet?
Übrigens: Es wird langsam Zeit, auf ein neueres Betriebssystem upzugraden. :)

Re: SysTray refreshen

Verfasst: 20.07.2015 15:35
von Shardik
Hier sind zwei Beispiele aus dem englischen Forum, die einen Refresh des SysTray durchführen, wenn Icons z.B. nach dem Crash des Windows Explorer nicht mehr angezeigt werden:
infratech: http://www.purebasic.fr/english/viewtop ... 0&start=47
Rescator: http://www.purebasic.fr/english/viewtop ... 12&t=31038