Jump to content

Recommended Posts

Posted

Hi everyone,

I created a GUI and I want it to be system modal. I don't know if it is the right term for the wanted modal mode but the desired behavior is that the user cannot do anything until the GUI is closed. The program is a bit complex so I don't want to change the fact I'm using a GUI.

Is there any way to accomplish this? For example, using a transparent system modal msgbox as a child process of the GUI or something like this (I don't know if this is possible), etc.

Thanks

Posted

Hi,

Welcome to the autoit forum :)

the user cannot do anything until the GUI is closed.

Can you explain a little bit?
Posted (edited)

Hi,

Welcome to the autoit forum :)

Can you explain a little bit?

When I create my GUI I use the extended style $WS_EX_TOPMOST. What I would like to achieve with my GUI is that the user is not able to work, for example in MS Word or any program "behind" this GUI, as long as the GUI is not closed. As it is now, the user is able to continue working normally even with the GUI in the center of the screen, which I don't want.

Is this something that can be achieved with a GUI?

Thanks!

Edited by Hanau
Posted

There is some "desktop lock" examples on this forum, you can get some ideas from them.

Functions: _MouseTrap and/or WM_ACTIVATE with WinActivate.

Br, FireFox.

Posted

Forget the WM_ACTIVATE message it does not work well.

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

Local $hGUI = GUICreate("MyGUI", 400, 400, -1, -1, -1, $WS_EX_TOPMOST)
GUISetState(@SW_SHOW, $hGUI)

_TraptoGUI()

While GUIGetMsg() <> $GUI_EVENT_CLOSE
    If WinActive($hGUI) = 0 Then
        WinActivate($hGUI)
        _TraptoGUI()
    EndIf
    Sleep(10)
WEnd

Func _TraptoGUI()
    Local $aWgp = WinGetPos($hGUI)
    _MouseTrap($aWgp[0], $aWgp[1], $aWgp[0] + $aWgp[2], $aWgp[1] + $aWgp[3])
EndFunc   ;==>_TraptoGUI

Better approach.

Posted

Hanau,

FireFox will agree with me, that it's always best to show what you've i.e. post example code. Thanks.

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

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
×
×
  • Create New...