Jump to content
Sign in to follow this  
mistermiggy

Shutdown a locked Windows Vista

Recommended Posts

mistermiggy

Hello,

I use a backup script for all my InDesign files using a freeware tool called toucan.

Now to make it work like i want it to i use AutoIt, everything works perfect except that my computer doesn't shutdown at the end of the script.

MsgBox(4096, "Toucan", "Toucan will run in 10 minutes!")
ProcessClose ( "InDesign.exe")
Run("C:\Windows\System32\rundll32.exe user32.dll, LockWorkStation")
Sleep(600000)
Run("C:\PortableApps\Toucan\Toucan.exe Script SyncJob")
Sleep(1000000)
Shutdown(1)

I also tried Shutdown(6) and Shutdown(9) but they don't work.

It is very important that my computer stays locked.

Thanks in advance,

Edited by mistermiggy

Share this post


Link to post
Share on other sites
mistermiggy

Fixed the problem by searching around on the forum.

This is how i fixed it.

MsgBox(4096, "Toucan", "Toucan will run in 30 minutes!")
ProcessClose ( "InDesign.exe")
Run("C:\Windows\System32\rundll32.exe user32.dll, LockWorkStation")
Sleep(1800000)
Run("C:\PortableApps\Toucan\Toucan.exe Script SyncJob")
Sleep(1200000)
    Sleep(1000)
    If Shutdown(1 + 4 + 8 +16) = 1 Then
        ; 0 = Logoff; 1 = Shutdown; 2 = Reboot; 4 = Force; 8 = Power down; 16= Force if hung; 32= Standby; 64= Hibernate
        FileWriteLog($Log_File, @YEAR & "/" & @MON & "/" & @MDAY & ";" & @HOUR & ":" & @MIN & ";Shutdown;Success")
        ; If Shutdown is a success a line will be added to the log_File. Exemple of such a line :
        ; 2009/01/11;21:53;Shutdown;Success
    Else
        FileWriteLog($Log_File, @YEAR & "/" & @MON & "/" & @MDAY & ";" & @HOUR & ":" & @MIN & ";Shutdown;Failure")
        ; If Shutdown is NOT a success a line will be added to the log_File. Exemple of such a line :
        ; 2009/01/11;21:53;Shutdown;Failure
    EndIf
    Sleep(1000)
    Exit

Func FileWriteLog($sLogPath, $sLogMsg)
    Local $hOpenFile
    Local $hWriteFile
    $hOpenFile = FileOpen($sLogPath, 1)
    If $hOpenFile = -1 Then
        SetError(1)
        Return 0
    EndIf
    $hWriteFile = FileWriteLine($hOpenFile, $sLogMsg)
    If $hWriteFile = -1 Then
        SetError(2)
        Return 0
    EndIf
    FileClose($hOpenFile)
    Return 1
EndFunc

Share this post


Link to post
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
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.