Seite 1 von 2
Fenster anzeigen, aber von TaskBar verstecken
Verfasst: 10.08.2008 21:29
von spider84
Wie verstecke ich mein Programm von der Taskbar ohne das Fenster selbst mit den Gadgets zu verstecken.
Hintergrund ist der, dass ich Gadgets im SysTray selbst platziere, aber dann in der TaskBar dann leere Anzeigen habe
Verfasst: 10.08.2008 21:34
von ts-soft
Suchfunktion kaputt?
Code: Alles auswählen
Procedure HideFromTaskBar(hWnd.l, Flag.l)
Protected TBL.ITaskbarList
CoInitialize_(0)
If CoCreateInstance_(?CLSID_TaskBarList, 0, 1, ?IID_ITaskBarList, @TBL) = #S_OK
TBL\HrInit()
If Flag
TBL\DeleteTab(hWnd)
Else
TBL\AddTab(hWnd)
EndIf
TBL\Release()
EndIf
CoUninitialize_()
DataSection
CLSID_TaskBarList:
Data.l $56FDF344
Data.w $FD6D, $11D0
Data.b $95, $8A, $00, $60, $97, $C9, $A0, $90
IID_ITaskBarList:
Data.l $56FDF342
Data.w $FD6D, $11D0
Data.b $95, $8A, $00, $60, $97, $C9, $A0, $90
EndDataSection
EndProcedure
Verfasst: 10.08.2008 21:37
von marco2007
Edel hat geschrieben:Suchfunktion kaputt?
Code: Alles auswählen
If OpenWindow(0,0,0, 200,200,"", #PB_Window_Invisible)
If OpenWindow(1,0,0,300,300, "", #PB_Window_SystemMenu, WindowID(0))
EndIf
EndIf
Repeat:WaitWindowEvent():ForEver
Edit:
TS-Soft hat geschrieben:Suchfunktion kaputt?
@TS-Soft:

Verfasst: 10.08.2008 21:39
von RSBasic
Verfasst: 10.08.2008 21:44
von marco2007
Wieso sind die Codes so kompliziert?
spider84 hat geschrieben:Wie verstecke ich mein Programm von der Taskbar
Verfasst: 10.08.2008 21:47
von RSBasic
@marco2006
Die Codes sind doch nicht kompliziert
@spider84
Oder (Alternative):
Code: Alles auswählen
If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_Invisible)
SetWindowLong_(WindowID(0),-20,GetWindowLong_(WindowID(0),-20)|#WS_EX_TOOLWINDOW)
HideWindow(0, 0)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Verfasst: 10.08.2008 21:51
von ts-soft
marco2006 hat geschrieben:Wieso sind die Codes so kompliziert?
spider84 hat geschrieben:Wie verstecke ich mein Programm von der Taskbar
Weil PB kein COM unterstützt?
Weil es garnicht kompliziert ist? (jedenfalls die Anwendung ist doch leicht)
Weil programmieren immer kompliziert ist?
Meiner Meinung nach ist es die einfachste und systemkonformste Lösung

Verfasst: 10.08.2008 21:54
von marco2007
Ja, aber mein Code funkt doch auch. Oder habe ich etwas nicht verstanden?
Verfasst: 10.08.2008 22:01
von ts-soft
marco2006 hat geschrieben:Ja, aber mein Code funkt doch auch. Oder habe ich etwas nicht verstanden?
Stimmt, aber warum Speicher für 2 Fenster verbrauchen, ein unnötiges
Handle verbrauchen? Bloß weil man COM nicht versteht?
Verstehste denn Deinen Code? Warum erscheint es nicht in der Taskbar?
Verfasst: 10.08.2008 22:13
von marco2007
ok. Ich verstehe. Ich weiß, was Du meinst.
Mit COM komme ich nur mit PureDisphelper einigermaßen klar.
Aber diese CoInitialize + CoCreateInstance + DataSection ist mir derzeit noch zu schräg (ähnlich dem AutoComplete von Freak). Da steige ich aus.
Das hebe ich mir für die kalte Zeit (Herbst + Winter) auf.