Jump to content

How can I hide icon of window on taskbar?


 Share

Recommended Posts

I tried removing WS_EX_APPWINDOW but it didn't work. In fact, I've used that technique in MFC and it works fine.

I also written a fuction to modify window style and it works fine with normal style (e.g WS_SYSMENU, WS_THICKFRAME,..) but WS_EX_APPwindow. Any suggestion?

Func ModifyWindowStyle( $style, $action = True, $isExStyle = False, $windowHandle = @GUI_WinHandle )

    Const $NORMAL_STYLE   = 0
    Const $EXTENDED_STYLE = 1

    ; Get current window style
    $currentStyle = GUIGetStyle( $windowHandle )

    ; Detemine which style type will be modified
    If( $isExStyle = True ) Then
        $modifiedStyle = $EXTENDED_STYLE
    Else
        $modifiedStyle = $NORMAL_STYLE
    EndIf

    ; Update window style
    If ( $action = True ) Then
        ; Add new style
        $currentStyle[ $modifiedStyle ] = BitOR( $style, $currentStyle[ $modifiedStyle ] )
    Else
        ; Remove given style
        $style = BitNOT( $style )
        $currentStyle[ $modifiedStyle ] = BitAND( $style, $currentStyle[ $modifiedStyle ] )
    EndIf



    ; Apply new style to window
    GUISetStyle( $currentStyle[ $NORMAL_STYLE ], _
                 $currentStyle[ $EXTENDED_STYLE ], _
                 $windowHandle )

    ; Repaint window
    GUISetState( @SW_HIDE, $windowHandle )
    GUISetState( @SW_SHOW, $windowHandle )
    ;_WinAPI_FlashWindow( $windowHandle ) // lame
EndFunc ;end function ModifyWindowStyle

And another question is how to repaint windows after changing windows style. The solution I used above isn't perfect, because users still need to move the window to get it repainted completely.

Edited by Papyrus
Link to comment
Share on other sites

  • Moderators

Papyrus,

You can remove the button from the taskbar by using the "parent" parameter when you create your GUI. If you do not have a parent, then you can use the ever-present, but hidden, AutoIt window:

#include <GUIConstantsEx.au3>

; Create parent
$hGUI = GUICreate("Parent", 500, 500)
GUISetState()

; Use parent handle when creating child
$hGUI_No_TaskBar_1 = GUICreate("Child", 200, 200, 100, 100, Default, Default, $hGUI)
GUISetState()

; Or use the Autoit window
$hGUI_No_TaskBar_2 = GUICreate("AutoIt Child", 200, 200, 200, 200, Default, Default, WinGetHandle(AutoItWinGetTitle()))
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

I hope that helps. :blink:

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...