Jump to content

Multiple GUI's and Sleep Function


Recommended Posts

I have a simple program that runs 2 GUI's (one an embedded IE client and the other a popup that gives instructions to the user on what to do). I need to perform various sleep functions, but the sleep command makes the entire application inactive, is there a way to limit this to just one of the 2 GUI's to sleep? The only alternatives I can come up with is to somehow create an Adlib function to make a GUI inactive until its slept or to simply split this into 2 applications.

Any suggestions on trying to keep this as a single program?

Thank you.

Link to comment
Share on other sites

If you have a sleep in a guigetmsg loop then it will indeed render the gui useless depending on the length of the sleep.

There are many ways to overcome these things, but I dont want to waste both our times by guessing what you are doing and the structure of your code.

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to comment
Share on other sites

Plus, GUIGetMsg() has Sleep already built in. What this time is I don't know. Perhaps have a look "AutoIt specific command Line Switches" but more specifically /AutoIt3ExecuteScript, so then you can Run a second Script. OR try using AdLibRegister!

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

you can add a check variable and then select two Guigetmsg()

i m not shure but maybe this

Global $check = True
$gui1 = GUICreate("Test",200,200,500,500)
$button11 = GUICtrlCreateButton("Test button", 10, 10)
$button12 = GUICtrlCreateButton("Test button", 10, 40)
$button13 = GUICtrlCreateButton("Change state", 10, 70)
GUISetState()
$gui2 = GUICreate("Test",200,200,700,500)
$button21 = GUICtrlCreateButton("Test button", 10, 10)
$button22 = GUICtrlCreateButton("Test button", 10, 40)
$button23 = GUICtrlCreateButton("Test button", 10, 70)
GUISetState()
While True
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[1]
        Case $gui1
            Switch $nMsg[0]
                Case -3
                    Exit
                Case $button11
                    MsgBox(0, "", "")
                Case $button12
                    MsgBox(0, "", "")
                Case $button13
                    $check = Not $check
                    MsgBox(0, "", "statechanged")
            EndSwitch
        Case $gui2
            If $check = True Then
                Switch $nMsg[0]
                    Case -3
                        GUIDelete($nMsg[1])
                    Case $button21
                        MsgBox(0, "", "")
                    Case $button22
                        MsgBox(0, "", "")
                    Case $button23
                        MsgBox(0, "", "")
                EndSwitch
            EndIf
    EndSwitch
WEnd
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...