Page 1 of 1

How can I do a task does not appear in the taskbar?

Posted: Wed Jun 11, 2014 10:19 pm
by minimy
How can I do a task does not appear in the taskbar, knowing the hWnd?

Re: How can I do a task does not appear in the taskbar?

Posted: Fri Jun 13, 2014 7:05 am
by Bisonte

Re: How can I do a task does not appear in the taskbar?

Posted: Fri Jun 13, 2014 8:41 am
by RASHAD
Hi

Code: Select all

OpenWindow(1, -500, 0, 0, 0, "Not Needed", #PB_Window_Invisible)

OpenWindow(0,0,0,400,100, "Not shown in the Taskbar",#PB_Window_ScreenCentered|#PB_Window_SystemMenu,WindowID(1))
  ButtonGadget(0, 0, 0, 200, 100, "Hide Window from showing in Taskbar")
  ButtonGadget(1, 200, 0, 200, 100, "Show Window in Taskbar")
 
Repeat
  EventID=WaitWindowEvent()
  Select EventID
    Case #PB_Event_Gadget
      Select EventGadget()
         Case 0
                  HideWindow(1,1)

         Case 1
                 HideWindow(1,0)
                 SetActiveWindow(0)
      EndSelect
  EndSelect
Until EventID=#PB_Event_CloseWindow


Re: How can I do a task does not appear in the taskbar?

Posted: Fri Jun 13, 2014 8:52 am
by Danilo
CallCOM() - that's quite old. :D

Can be used directly with PB Interfaces:

Code: Select all

;----------------------------------------
;----------------------------------------
;  Hide a Window from the Taskbar
;----------------------------------------
;----------------------------------------
EnableExplicit

Global _hideFromTaskbar_Object.ITaskbarList
;
; Hide or UnHide a Window from the Windows Taskbar
;
; STATES: #FALSE (0)    =  Show Window on Taskbar
;         #TRUE  (<>0)  =  Hide Window on Taskbar
;
Procedure HideFromTaskbar(WindowID, State)
    Shared _hideFromTaskbar_Object.ITaskbarList
    If _hideFromTaskbar_Object
        If State = 0
            _hideFromTaskbar_Object\AddTab(WindowID)
        Else
            _hideFromTaskbar_Object\DeleteTab(WindowID)
        EndIf
    EndIf
EndProcedure

;
; Call at begin of program
;
Procedure InitHideFromTaskbar()
    Shared _hideFromTaskbar_Object.ITaskbarList
    CoInitialize_(0)
    If _hideFromTaskbar_Object = 0
        CoCreateInstance_(?CLSID_TaskbarList,0,1,?IID_ITaskbarList,@_hideFromTaskbar_Object)
        If _hideFromTaskbar_Object
            If _hideFromTaskbar_Object\HrInit() <> #S_OK
                _hideFromTaskbar_Object\Release()
                _hideFromTaskbar_Object = 0
            EndIf
        EndIf
    EndIf
    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

;
; Call at end of program
;
Procedure EndHideFromTaskbar()
    Shared _hideFromTaskbar_Object.ITaskbarList
    If _hideFromTaskbar_Object
        _hideFromTaskbar_Object\Release()
        _hideFromTaskbar_Object = 0
    EndIf
    CoUninitialize_()
EndProcedure

DisableExplicit
;----------------------------------------
;----------------------------------------
;  end include file
;----------------------------------------
;----------------------------------------



Procedure Btn0_Click()
    Static state
    state!1
    HideFromTaskbar(WindowID(0),state)
EndProcedure

InitHideFromTaskbar()

    OpenWindow(0,0,0,200,200,"My PB Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
    ButtonGadget(0,10,10,180,25,"Hide/Unhide from Taskbar")
    BindEvent(#PB_Event_Gadget,@Btn0_Click(),0,0)
    
    Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow

EndHideFromTaskbar()

Re: How can I do a task does not appear in the taskbar?

Posted: Fri Jun 13, 2014 9:33 am
by said
If that's ok to have a small title bar, you can use the flag #PB_Window_Tool with OpenWindow()

Code: Select all

  If OpenWindow(0, 0, 0, 230, 90, "example...", #PB_Window_Tool|#PB_Window_SystemMenu|#PB_Window_ScreenCentered)

   Repeat
   Until WaitWindowEvent() = #PB_Event_CloseWindow
 EndIf


Re: How can I do a task does not appear in the taskbar?

Posted: Fri Jun 13, 2014 6:49 pm
by minimy
Rashad, Bisonte & said, thanks for helpme! :D
But im lockingfor any thing, like danilo´s solution. :D
Thanks a lot, danilo for your code and time. :D
gretings friends!