Jump to content

GUISetStyle $WS_EX_APPWINDOW on the fly?


AoRaToS
 Share

Recommended Posts

Hello everyone,

I've made an option in of my scripts so that I can choose whether the window will appear in the taskbar or not. The problem is that setting the style doesn't seem to do anything. You have to actually create the GUI with that style for it to work and delete and create it again every time. Check the examples below:

Any idea how this can be done without having to delete the GUI?

This doesn't work:

Although the style does change on the fly, the taskbar icon doesn't disappear as it should for the selected style.

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode", 1)

Global $Gui, $style = 1

GUI()


Func GUI()
$Gui = GUICreate("TEST", 300, 150, Default, Default, -1, $WS_EX_APPWINDOW)
$button = GUICtrlCreateButton("style", 100, 10, 50, 30)
GUICtrlSetOnEvent($button, "test")
GUISetState(@SW_SHOW)
EndFunc

Func test()
If $style = 1 Then
     GUISetStyle(-1, $WS_EX_TOOLWINDOW, $Gui)
     $style = 0
Else
     GUISetStyle(-1, $WS_EX_APPWINDOW, $Gui)
     $style = 1
EndIf
EndFunc

While 1
Sleep(100)
WEnd

This works but isn't ideal:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode", 1)

Global $Gui, $style = 1

GUI()


Func GUI()
If $style = 1 Then
$Gui = GUICreate("TEST", 300, 150, Default, Default, -1, $WS_EX_APPWINDOW)
Else
$Gui = GUICreate("TEST", 300, 150, Default, Default, -1, $WS_EX_TOOLWINDOW)
EndIf
$button = GUICtrlCreateButton("style", 100, 10, 50, 30)
GUICtrlSetOnEvent($button, "test")
GUISetState(@SW_SHOW)
EndFunc

Func test()
If $style = 1 Then
GUIDelete($Gui)
$style = 0
GUI()
Else
GUIDelete($Gui)
$style = 1
GUI()
EndIf
EndFunc

While 1
Sleep(100)
WEnd
Edited by AoRaToS

s!mpL3 LAN Messenger

Current version 2.9.9.1 [04/07/2019]

s!mpL3 LAN Messenger.zip

s!mpL3

Link to comment
Share on other sites

LoL

Actually this seems to work:

If anyone has a better way to do this, please let me know :)

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode", 1)

Global $Gui, $style = 1

GUI()


Func GUI()
    $Gui = GUICreate("TEST", 300, 150, Default, Default, -1, $WS_EX_APPWINDOW)
    $button = GUICtrlCreateButton("style", 100, 10, 50, 30)
    GUICtrlSetOnEvent($button, "test")
    GUISetState(@SW_SHOW)
EndFunc

Func test()
    If $style = 1 Then
        GUISetState(@SW_HIDE, $Gui)
        GUISetStyle(-1, $WS_EX_TOOLWINDOW, $Gui)
        GUISetState(@SW_SHOW, $Gui)
        $style = 0
    Else
        GUISetState(@SW_HIDE, $Gui)
        GUISetStyle(-1, $WS_EX_APPWINDOW, $Gui)
        GUISetState(@SW_SHOW, $Gui)
        $style = 1
    EndIf
EndFunc

While 1
   Sleep(100)
WEnd

s!mpL3 LAN Messenger

Current version 2.9.9.1 [04/07/2019]

s!mpL3 LAN Messenger.zip

s!mpL3

Link to comment
Share on other sites

That would be the way I would do it.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

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...