Seite 2 von 2

Verfasst: 03.01.2007 18:24
von dllfreak2001
Kein guter Kompromiss.

Verfasst: 03.01.2007 19:05
von #NULL
..ich wollt es trotzdem mal probieren. leider krieg ich die TL nur unsichtbar. mit movewindow_(TL_handle, ...) oder SystemParametersInfo_(#SPI_SETWORKAREA,0,@r.RECT,0) hab' ich es auch nicht geschaft, fenster bis zur bildschirm-unterkante maximierbar zu machen. kurioserweise habe ich das selbe problem wie MS, mit dem stickky/foreground-setzten beim vollbild eines fensters.
naja, andere können sowas besser, ich hab' grad keine lust mehr <) .
wer will:
[es sollte ein systray erscheinen, zum beenden mit rechtsclick]

Code: Alles auswählen

yMin.l
yMax.l
hWnd.l = FindWindow_("shell_traywnd","")
hWndTemp.l
m.POINT
D.RECT
quit.l

SystemParametersInfo_(#SPI_GETWORKAREA,0,@D.RECT,0)
yMin = D\bottom
yMax = GetSystemMetrics_(#SM_CYSCREEN)
hWnd = FindWindow_("shell_traywnd","")


OpenWindow(0,0,0,10,10,"a", #PB_Window_Invisible)
icon$ = #PB_Compiler_Home+"Examples\Sources\Data\CdPlayer.ico"
LoadImage(0, icon$)
AddSysTrayIcon(0, WindowID(0), ImageID(0) )


ShowWindow_(hWnd,#SW_HIDE)
; D\bottom = yMax
; SystemParametersInfo_(#SPI_SETWORKAREA,0,@D.RECT,0)
MoveWindow_(hWnd, 0,yMax-5, D\right-1, yMax-yMin, #True)
Repeat
  WaitWindowEvent(100)
  
  GetCursorPos_(@m)
  Debug m\y
  If m\y > yMax-2
    hWndTemp=GetActiveWindow_()
    ShowWindow_(hWnd,#SW_SHOW)
    ;MoveWindow_(hWnd, 0,yMin, D\right-1, yMax-yMin, #True)
;     D\bottom = yMin
;     SystemParametersInfo_(#SPI_SETWORKAREA,0,@D.RECT,0)
    SetActiveWindow_(hWnd)
    SetForegroundWindow_(hWnd)
    Delay(50)
    While m\y > yMin
      GetCursorPos_(@m)
      SetForegroundWindow_(hWnd)
      event=WaitWindowEvent(100)
      If event=#PB_Event_SysTray And EventGadget()=0 And EventType()=#PB_EventType_RightClick
;         D\bottom = yMin
;         SystemParametersInfo_(#SPI_SETWORKAREA,0,@D.RECT,0)
        ShowWindow_(hWnd,#SW_SHOW)
        End
      EndIf
    Wend
    SetActiveWindow_(hWndTemp)
    ShowWindow_(hWnd,#SW_HIDE)
    ;MoveWindow_(hWnd, 0,yMax-5, D\right-1, yMax-yMin, #True)
  EndIf
Until 0

Verfasst: 03.01.2007 23:16
von DarkSoul
meinem XP ist dieses problem (leider) unbekannt, daher kann ich das nicht tsten :cry: :cry: :cry:

Verfasst: 03.01.2007 23:31
von ts-soft
Wenn ich in der Netzwerkumgebung "Symbole für Netzwerk-UPnP-Geräte"
einblenden umschalte, verschwinden nach Neustart diverse Trayicons, die mit
Netzwerk nicht das geringste zu tun haben. Vielleicht bringt diese
Umschaltung ja auch die EnergieLampe zum leuchten :wink: