Jump to content

Recommended Posts

Posted

Hi

I'm pretty new to this, and have a couple of questions, I hope you can answer.

I have created this small program - it runs :-) So far so good. But I would like the program to be started, and then run in the background, so the user do not see the CMD commands entered. Any idea how to do this ?

Also, if I want to check if each step is successfull before proceeding to the next command, then how to do this ?

Here's the program:

$answer = MsgBox(4, "AutoIt Example (English Only)", "Updating system clock.Do you want to proceed ?")

If $answer = 7 Then

MsgBox(0, "AutoIt", "OK. Good bye !")

Exit

EndIf

run ("cmd")

send("cnet stop w32time{ENTER}")

sleep (5000)

send("net time /setsntp:time.windows.com{ENTER}")

sleep (5000)

send("net start w32time{ENTER}")

sleep (5000)

send("exit{ENTER}")

Posted (edited)

no need to use run and send.

runwait will also wait for the command to finish , so i think you can exclude the sleep(5000)

and you are left with

RunWait(@ComSpec & ' /c ' & "net stop w32time", @TempDir, @SW_HIDE)

RunWait(@ComSpec & ' /c ' & "net time /setsntp:time.windows.com", @TempDir, @SW_HIDE)

RunWait(@ComSpec & ' /c ' & "net start w32time", @TempDir, @SW_HIDE)

RunWait(@ComSpec & ' /c  ' & "net stop w32time", @TempDir, @SW_HIDE)
RunWait(@ComSpec & ' /c  ' & "net time /setsntp:time.windows.com", @TempDir, @SW_HIDE)
RunWait(@ComSpec & ' /c  ' & "net start w32time", @TempDir, @SW_HIDE)
Edited by javasqlrpg
Posted

Remove the surplus bracket and you are done.

RunWait(@ComSpec & ' /c ' & "cnet stop w32time", @TempDir, @SW_HIDE)

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Posted

Please check the help file for RunWait:

Success: Returns the exit code of the program that was run.

$iResult = RunWait(...)

Depending on the program you run $iResult contains the exit code of the called program. I would suggest you try a successfull and and unsuccessfull command and check if $iResult has a different value.

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Posted (edited)

The Help file and examples is a great way to learn.

but to put incode what water said :

$iResult = RunWait(@ComSpec & ' /c  ' & "net stop w32time", @TempDir, @SW_HIDE)
If $iResult = 1 Then
    MsgBox(16, "error", "Error Stopping time")
    Exit
EndIf

$iResult = RunWait(@ComSpec & ' /c  ' & "net time /setsntp:time.windows.com", @TempDir, @SW_HIDE)
If $iResult = 1 Then
    MsgBox(16, "error", "Error setting time")
    Exit
EndIf

$iResult = RunWait(@ComSpec & ' /c  ' & "net start w32time", @TempDir, @SW_HIDE)
If $iResult = 1 Then
    MsgBox(16, "error", "Error starting time")
    Exit
Else
    MsgBox(0, "Success", "Completed")
EndIf
Edited by javasqlrpg

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...