Jump to content

Closing a please wait at the right time?


Recommended Posts

Ok on a script im working on im using a splshtxt to give me a warning to the person that just wait until its finished and then a different splashtxt to finish

SplashTextOn("Service Editing", "Starting Services Reset." & @CRLF & @CRLF & _
  "Please Wait", 300, 90)
  Sleep(25000)
  SplashOff()

Now this is ok but im guessing at the time it needs to be open so its not ideal as it will be longer on slower machines etc

What i need is for it to be monitoring the actual process during the files change

I dont mind if it needs changing to a progress bar instead, that would probably make more sense actually.

Global $aServiceKeysSafeDisabled[4] = [3, "AppMgmt", "bthserv", "CertPropSvc"] ; array of things to change

_ServiceChange($aServiceKeysSafeDisabled, "disabled") ; call function

; and the func i made with the help of others on the forum
Func _ServiceChange(ByRef $aArrayType, $sSetValue) ; Changes Services  Author = Chimaera
    For $d = 1 To $aArrayType[0]
;~       _ArrayDisplay( $aArrayType) ; >>>>>>>>>>>>>>  Error Checking
        ShellExecuteWait('sc.exe', 'config "' & $aArrayType[$d] & '" start= ' & $sSetValue, "", "", @SW_HIDE)
        Sleep(100)
    Next
EndFunc   ;==>_ServiceChange

Is there a way to tie it to the running task sc.exe or the shellexecutewait so that the message stays open but closes just before the end?

Any thoughts?

Chimaera

Link to comment
Share on other sites

Presuming the splash text is part of the same script, the simpler solution is to wait until the function has finished.

SplashTextOn("Service Editing", "Starting Services Reset." & @CRLF & @CRLF & _
"Please Wait", 300, 90)
_ServiceChange($aServiceKeysSafeDisabled, "disabled") ; call function ;Sleep(25000)
SplashOff()

Edit

Perhaps I didn't read the question propery. You might want to look at ProcessExists.

.

Edited by czardas
Link to comment
Share on other sites

put it in the Func. SplashOn before the 'for' , Splashoff after the next.

edited a bit so it just starts them...dont need to be disabling stuff and forgetting about it. but since your running sc many times over i think you would get a flicker if you tied it to that process.

Global $aServiceKeysSafeDisabled[4] = [3, "AppMgmt", "bthserv", "CertPropSvc"] ; array of things to change

_ServiceChange($aServiceKeysSafeDisabled, "disabled") ; call function

; and the func i made with the help of others on the forum
Func _ServiceChange(ByRef $aArrayType, $sSetValue) ; Changes Services  Author = Chimaera
    SplashTextOn("Service Editing", "Starting Services Reset." & @CRLF & @CRLF & "Please Wait", 300, 90)
    For $d = 1 To $aArrayType[0]
;~     _ArrayDisplay( $aArrayType) ; >>>>>>>>>>>>>>  Error Checking
        run('cmd /k sc.exe start ' & $aServiceKeysSafeDisabled[$d])
        Sleep(1000)
    Next
    SplashOff()
EndFunc   ;==>_ServiceChange
Edited by boththose

,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Link to comment
Share on other sites

Ok that works either way so thx.

But im wondering if i can make it work with a progress bar instead so it has a visual indication that something is happening?

ProgressOn("Service Editing", "Starting Services Reset.","Please Wait", 300, 90)
_ServiceChange($aServiceKeysSafeDisabled, "disabled") ; call function ;Sleep(25000)
ProgressOff()

Whilst this creates the progress bar how do i make it monitor the

_ServiceChange($aServiceKeysSafeDisabled, "disabled")

I looked at ProcessExists & StdoutRead etc but im not using those processes to be able to monitor them

Link to comment
Share on other sites

a normal progress bar, divided by the number of elements in the array, that increments every time through the loop?

,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Link to comment
Share on other sites

hmm the arrays are different sizes for each OS

but this bit does the actual work

Func _ServiceChange(ByRef $aArrayType, $sSetValue) ; Changes Services  Author = Chimaera
For $d = 1 To $aArrayType[0]
;~   _ArrayDisplay( $aArrayType) ; >>>>>>>>>>>>>>  Error Checking
  ShellExecuteWait('sc.exe', 'config "' & $aArrayType[$d] & '" start= ' & $sSetValue, "", "", @SW_HIDE)
  Sleep(1000)
Next
EndFunc   ;==>_ServiceChange

and $Arraytype holds the array with the amount of keys

Would it be possible to add some extra in here maybe?

Link to comment
Share on other sites

But im wondering if i can make it work with a progress bar instead so it has a visual indication that something is happening?

Have a look at some code by

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

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...