usera Posted February 21, 2013 Share Posted February 21, 2013 Greeting, I have patch for one application. EXE file I was plan to apply it to user's workstation using AD login script. the issue is, once the patch start, it provide an button "Pause", user can click on it to pause that. Is anyway I can disable it? so the patch will apply, user can not pause it. already checked with the software Author, there is no MSI or switch to disable it. Thanks usera Link to comment Share on other sites More sharing options...
PhoenixXL Posted February 21, 2013 Share Posted February 21, 2013 (edited) Check out ControlDisable in the help file Edited February 21, 2013 by PhoenixXL My code: PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners. MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression. Link to comment Share on other sites More sharing options...
usera Posted February 21, 2013 Author Share Posted February 21, 2013 Check out ControlDisable in the help file thanks PhoenixXL, I did try below code, but it does not work MsgBox(1,"Test to disable OK button", "test") ControlDisable("Test to disable OK button", "", 1) ControlDisable("Test to disable OK button", "", "[CLASS:Button; INSTANCE:1]") May I know why? thanks usera Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted February 21, 2013 Moderators Share Posted February 21, 2013 usera,May I know why?That code does not work because MsgBox is a "blocking" function and so nothing else in the script is actioned until it is cancelled - at which point there is no button to disable. M23 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
PhoenixXL Posted February 21, 2013 Share Posted February 21, 2013 (edited) That is because Autoit is Single-Threaded and the script is paused in MsgBox function and the ControlDisable is called after the MsgBox is closed The following example would start a new instance of Autoit for MsgBox Have a look$PID = ShellExecute ( @AutoItExe , '/AutoIt3ExecuteLine MsgBox(1,"''Test to disable OK button''","''test''")' ) $hWnd = WinWait("Test to disable OK button") ControlDisable($hWnd, "", "[CLASS:Button; INSTANCE:1]") While ProcessExists($PID) Sleep(10) WEnd Edit: M23 already answered your question Regards Edited February 21, 2013 by PhoenixXL usera 1 My code: PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners. MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression. Link to comment Share on other sites More sharing options...
usera Posted February 21, 2013 Author Share Posted February 21, 2013 usera,That code does not work because MsgBox is a "blocking" function and so nothing else in the script is actioned until it is cancelled - at which point there is no button to disable. M23Thanks Link to comment Share on other sites More sharing options...
usera Posted February 21, 2013 Author Share Posted February 21, 2013 That is because Autoit is Single-Threaded and the script is paused in MsgBox function and the ControlDisable is called after the MsgBox is closed The following example would start a new instance of Autoit for MsgBox Have a look$PID = ShellExecute ( @AutoItExe , '/AutoIt3ExecuteLine MsgBox(1,"''Test to disable OK button''","''test''")' ) $hWnd = WinWait("Test to disable OK button") ControlDisable($hWnd, "", "[CLASS:Button; INSTANCE:1]") While ProcessExists($PID) Sleep(10) WEnd Edit: M23 already answered your question Regards Thanks That is because Autoit is Single-Threaded and the script is paused in MsgBox function and the ControlDisable is called after the MsgBox is closed The following example would start a new instance of Autoit for MsgBox Have a look$PID = ShellExecute ( @AutoItExe , '/AutoIt3ExecuteLine MsgBox(1,"''Test to disable OK button''","''test''")' ) $hWnd = WinWait("Test to disable OK button") ControlDisable($hWnd, "", "[CLASS:Button; INSTANCE:1]") While ProcessExists($PID) Sleep(10) WEnd Edit: M23 already answered your question Regards Thanks 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