Simmy Posted June 18, 2011 Share Posted June 18, 2011 HI guys hope you are all well. You kind people have helped me learn how to keep a form on top of all other windows with $WS_EX_TOPMOST What Id like to be able to do now, is that for any message boxes that come up due to actions in the script, that those message boxes be "on top" of the main form, which has the $WS_EX_TOPMOST set. Currently, if you select an item from the combo box, the message box is fired, but is hidden by the main form because the main form has the extended style set to $WS_EX_TOPMOST. Is there a way to say that any windows that pop up as a result of this form, or clicking on something that generates a window such as a msgbox from this form, that those windows be on top, and thus not hidden from view because they are behind the main form? Here is my code: expandcollapse popup#include <Array.au3> #include <File.au3> #include <GUIComboBox.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> ; you need to include this one to use the $WS_EX_TOPMOST style _Main() Func _Main() Local $hCombo, $iCombo ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Output the exe list to a text file. Skip the echo is on line, by using skip=1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $listpath = @ScriptDir & '\apps\*.exe' RunWait(@ComSpec & ' /c for /f "tokens=* delims=\ skip=1" %a in (''dir /S /B ' & $listpath & ' /A-D'') do @echo %a >> grplist.txt','',@SW_HIDE) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Create a form. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;guicreate("title",width,height,left,top,style,exstyle) ;GUICreate('Executables', 500, 300) ; GUICreate('Executables', 500, 300,,$WS_EX_TOPMOST) GUICreate("", 500, 500, -1, -1, -1, $WS_EX_TOPMOST) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Create a combo to hold the data. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;$iCombo = GUICtrlCreateCombo("Select A Folder", 30, 75, 220, 200) ;Don't put a title in as this will create an entry in the combo box. ;$iCombo = GUICtrlCreateCombo("Select A Folder", 30, 75, 220, 200) $iCombo = GUICtrlCreateCombo("", 30, 75, 220, 200) $hCombo = GUICtrlGetHandle(-1) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Create a button to press. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $Button1 = GUICtrlCreateButton("Run ", 10, 30, 100) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Open the file in order to read it. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $FileOpen = FileOpen('grplist.txt', 0) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Add error-handling for file. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; If $FileOpen = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Set the data of the combo by looping through the file. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; While 1 $line = FileReadLine($FileOpen) If $line = "" Then ExitLoop If @error = -1 Then ExitLoop GUICtrlSetData($iCombo,$line) Wend ;_FileReadToArray ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Set the default visible entry in the combobox with this function. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; _GUICtrlComboBox_SetEditText($hCombo, "Select A Folder") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Close the file to free resources. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; FileClose($FileOpen) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Show the form since forms are hidden by default. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; GUISetState(@SW_SHOW) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Keep the form open until you close it. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Do ;Until GUIGetMsg() = $GUI_EVENT_CLOSE While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 $programLocation = GUICtrlRead($iCombo) MsgBox(0, "Error", $programLocation) ;Run ("Notepad") Run ($programLocation) EndSwitch WEnd EndFunc ;==>_Main Any help greatly appreciated. Link to comment Share on other sites More sharing options...
guinness Posted June 18, 2011 Share Posted June 18, 2011 #include <WindowsConstants.au3> Global $hGUI $hGUI = GUICreate("", 500, 500, -1, -1, -1, $WS_EX_TOPMOST) GUISetState() MsgBox(0, "Example", "MagBox() on Top.", 0, $hGUI) 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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
guinness Posted June 18, 2011 Share Posted June 18, 2011 OR try this little Function >> _MsgBox_OnTop(0, "Example", "MagBox() on Top.") Func _MsgBox_OnTop($iFlag, $sTitle, $sText, $iTimeOut = 0, $hHandle = -1) If $hHandle = -1 Then $hHandle = WinGetHandle(AutoItWinGetTitle()) WinSetOnTop($hHandle, "", 1) EndIf Return MsgBox($iFlag, $sTitle, $sText, $iTimeOut, $hHandle) EndFunc ;==>_MsgBox_OnTop 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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now