Shocker Posted May 17, 2013 Share Posted May 17, 2013 Hi there, how can i disable all Buttons (except Exit [X]) if a Process started later than MyGUI and enable if Process was closed? Link to comment Share on other sites More sharing options...
Omga4000 Posted May 17, 2013 Share Posted May 17, 2013 (edited) Please have a look at GUICtrlSetState function. more specifically: $GUI_ENABLE and $GUI_DISABLE. Good luck, Omga4000. Edited May 17, 2013 by Omga4000 Link to comment Share on other sites More sharing options...
guinness Posted May 17, 2013 Share Posted May 17, 2013 Something like this... Local $aState[$GUI_DISABLE, $GUI_ENABLE] GUICtrlSetState($iControlID, $aState[ProcessExists('SciTE.exe')]) ; ProcessExists returns 1 or 0, so they can be used as index values for the array. 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...
kylomas Posted May 18, 2013 Share Posted May 18, 2013 Shocker, If you want to disable/enable controls based on whether or not a process is running it can be done like this (I use Windows Live Mail in the example): #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #AutoIt3Wrapper_Add_Constants=n Local $gui010 = GUICreate('', 100, 100) Local $btn010 = GUICtrlCreateButton('My Button', 10, 20, 80, 50) GUISetState() AdlibRegister("_check_process", 250) While 1 Switch GUIGetMsg() Case $gui_event_close Exit EndSwitch WEnd Func _check_process() Switch ProcessExists('wlcomm.exe') Case 0 If BitAND(GUICtrlGetState($btn010), $gui_disable) = $gui_disable Then GUICtrlSetState($btn010, $gui_enable) Case Else If BitAND(GUICtrlGetState($btn010), $gui_enable) = $gui_enable Then GUICtrlSetState($btn010, $gui_disable) EndSwitch EndFunc ;==>_check_process If you are trying to disable/enable the minimize/maximize gui controls then I have not been able to find anything that will do that. Maybe one of the gui experts will advise. Good Luck, kylomas Shocker 1 Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
Shocker Posted May 18, 2013 Author Share Posted May 18, 2013 Thx 4 reply to all! @Omga4000 I know GUICtrlSetState, but i had no idea for a loop to check whether ProcessExists. @guinness Got an error... syntax error Local $aState[$GUI_DISABLE, ~~~~~~~~~~~~~~~~~~~~~~~~~~^ @kylomas Thx, works fine add all my Buttons to this Func and when ProcessExists all are disabled but i can still close MyGui. Func _check_process() Switch ProcessExists('wlcomm.exe') Case 0 ;from Button1 If BitAND(GUICtrlGetState($btn010), $gui_disable) = $gui_disable Then GUICtrlSetState($btn010, $gui_enable) If BitAND(GUICtrlGetState($btn020), $gui_disable) = $gui_disable Then GUICtrlSetState($btn020, $gui_enable) ;till Button8... If BitAND(GUICtrlGetState($btn080), $gui_disable) = $gui_disable Then GUICtrlSetState($btn080, $gui_enable) Case Else ;from Button1 If BitAND(GUICtrlGetState($btn010), $gui_enable) = $gui_enable Then GUICtrlSetState($btn010, $gui_disable) If BitAND(GUICtrlGetState($btn020), $gui_enable) = $gui_enable Then GUICtrlSetState($btn020, $gui_disable) ;till Button8... If BitAND(GUICtrlGetState($btn080), $gui_enable) = $gui_enable Then GUICtrlSetState($btn080, $gui_disable) EndSwitch EndFunc ;==>_check_process 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