pc_doctor Posted August 15, 2006 Share Posted August 15, 2006 Hello, All. First post. I am looking for information on how to let my users lock their screen during a lengthy install. I have used BlockInput() but my install script still is paused when I unlock the system to check the progress. If you don't lock the screen the script finishes. Here is one of the scripts. Also any pointers on making the scripts more robust appreciated. I am still not sure on how to script for the possibility of one of several windows popping up. I am using AutoIt v3 expandcollapse popupDim $dialogfound = 0 Dim $regvalue = 0 $regvalue = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Cadence", "14.2") BlockInput(1) RUN("SETUP.EXE") SplashTextOn("Cadence 14.2 Local Installation Starting", "Please DO NOT touch keyboard or mouse!",-1,100,-1,0,16,"",12,500) Sleep(500) ; Send("#l") Do If WinExists("Warning", "OK") Then WinActivate("Warning", "OK") Send("{ENTER}") $dialogfound=1 ElseIf WinExists("Information", "OK") Then WinActivate("Information", "OK") Send("{ENTER}") $dialogfound=1 MsgBox(0, "Insufficient Rights", "Cadence must be installed under an account with Administrative Rights.") Exit Endif Until $dialogfound = 1 WinWaitActive("Welcome", "&Next >") Send("!n") WinWaitActive("Software License Agreement", "&Yes") Send("!y") WinWaitActive("Licensing", "&Network licensing") Send("!n") WinWaitActive("Network Options", "Install products") ControlFocus("Network Options", "Install products", "Button2") ControlClick("Network Options", "Install products", "Button2") Send("!n") WinWaitActive("License Manager Communication", "&Next >") ControlSetText("License Manager Communication", "Port Number:", "Edit2", "5280") ControlSetText("License Manager Communication", "Host Name:", "Edit3", "server_name_here") Send("!n") WinWaitActive("User Information", "&Next >") Send("!n") WinWaitActive("User Information Confirmation", "&Yes") Send("!y") WinWaitActive("Select Products", "") Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("{SPACE}") Sleep(100) Send("{DOWN}") Sleep(100) Send("!n") WinWaitActive("Working Directory", "&Next >") Send("!n") WinWaitActive("Select Program Folder", "&Next >") Send("!n") WinWaitActive("IntelliCAD", "&No") Send("!n") WinWaitActive("Footprint Viewer Options", "&Next >") ControlFocus("Footprint Viewer Options", "Allegro footprint viewer", "Button6") ControlClick("Footprint Viewer Options", "Allegro footprint viewer", "Button6") Send("!n") WinWaitActive("Allegro Footprint Library Path", "&Next >") Send("!n") WinWaitActive("Installation Summary", "&Next >") Send("!n") WinWaitActive("Product File Extension Registration", "&No") Send("!n") WinWaitActive("Text Editor File Extension Registration", "&No") Send("!n") WinWaitActive("Quick Trainer Icon", "&No") Send("!n") WinWaitActive("Viewing Online Documentation", "") Send("{ENTER}") WinWaitActive("Library CD Reminder", "Libraries for use with") Send("{ENTER}") WinWaitActive("Setup Complete", "") Send("{ENTER}") SplashOff() BlockInput(0) Sleep(300) EXIT In an insane world, the sane must appear insane Link to comment Share on other sites More sharing options...
mike1305 Posted August 15, 2006 Share Posted August 15, 2006 (edited) from personal experience, avoid using keystrokes to navigate installs, even with the sleeps there. if a popup window comes up, whoops! your script is FUBAR and you might be doing something adversely bad in the process. Use controlIDs as much as possible and always tell it to wait for the next window and to activate it before navigating it. believe me! as far as your question goes, "my install script still is paused when I unlock the system to check the progress." how do you manually unlock it? it looks like you just have a blockinput(0) at the end. my guess is that the script is not "paused", it just got messed up somewhere and the script went all the way through without the desired results. Again, using the aforementioned tactic, it should help the problem. here is an example from my installer script: $citrix71_auto = MsgBox(4100, "Automated?", "Would you like the (un)installation of " & $data & " to be automated?") If $citrix71_auto = 7 Then Run("\\rminas\Software\Citrix\Citrix ICA Client\Citrix ICA Client 7.100\ica32.exe") ElseIf $citrix71_auto = 6 Then Run("\\rminas\Software\Citrix\Citrix ICA Client\Citrix ICA Client 7.100\ica32.exe") WinWaitActive("Citrix ICA 32-bit Windows Client", "click Next") WinActivate("Citrix ICA 32-bit Windows Client", "click Next") Send("n") WinWaitActive("Welcome", "Welcome to the ICA Client Setup program. ") WinActivate("Welcome", "Welcome to the ICA Client Setup program. ") ControlClick("Welcome", "Welcome to the ICA Client Setup program. ", 1, "left", 1) WinWaitActive("Citrix License Agreement", "CITRIX(R) LICENSE AGREEMENT") ControlClick("Citrix", "CITRIX", 6, "left", 1) Sleep("250") ControlClick("Choose Destination Location", "", 1, "left", 1) Sleep("250") ControlClick("Select Program Folder", "", 1, "left", 1) Sleep("250") ControlClick("Select Client Name", "", 1, "left", 1) Sleep("250") ControlClick("Select Desired Features", "", 1, "left", 1) Sleep("250") WinWaitActive("Information", "") Sleep("1000") Send("{ENTER}") Sleep("250") WinClose("C:\Documents and Settings\All Users\Start Menu\Programs\Citrix ICA Client") EndIf you can find out which controlIDs to use using the AutoIt Window Info tool in the start menu. look in the help file to get the syntax correct. Edited August 15, 2006 by mike1305 Amp Energy Drink: the official sponsor of me scripting at 2AM. Link to comment Share on other sites More sharing options...
pc_doctor Posted August 15, 2006 Author Share Posted August 15, 2006 First - thank you for the example. I will definitely give it a try! I believe the script is paused because once I "click" the Next button or OK button the install script finishes. In an insane world, the sane must appear insane Link to comment Share on other sites More sharing options...
mike1305 Posted August 15, 2006 Share Posted August 15, 2006 First - thank you for the example. I will definitely give it a try!I believe the script is paused because once I "click" the Next button or OK button the install script finishes.if you click anything while it is trying to automate the process, you will efficiently bump it "out of tune" one step in the process and more likely than not it will just stay at a given window. Amp Energy Drink: the official sponsor of me scripting at 2AM. Link to comment Share on other sites More sharing options...
CoePSX Posted August 15, 2006 Share Posted August 15, 2006 Welcome to the forum! I'm sorry, but there's no way you can block the Ctrl+Alt+Del default behavior, but there is a workaround. When the users presses Ctrl+Alt+Del, even if BlockInput(1) is activated, the input is unblocked and the task manager window appears. By blocking the input constantly and killing the system windows, you aviod it. Opt("WinTitleMatchMode", 4) Func DoNotAllowTaskManager() BlockInput(1) WinKill("classname=#32770", "") EndFunc AdlibEnable("DoNotAllowTaskManager", 1) Sleep(5000) BlockInput(0) [quote name='Valik' post='301213' date='Jan 31 2007, 10:36 PM']You seem to have a habit of putting things in the wrong place. I feel sorry for any female you attempt to have sex with.[/quote][font="Lucida Sans Unicode"]╔══════════════════════════════╗║░░██░░░░░░░░██░░███░░░████░░░█║║░█░░█░░██░░█░░█░█░░█░█░░░░█░█░║║░█░░░░█░░█░████░███░░░██░░░█░░║║░█░░█░█░░█░█░░░░█░░░░░░░█░█░█░║║░░██░░░██░░░██░░█░░░░███░█░░░█║╚══════════════════════════════╝[/font] Link to comment Share on other sites More sharing options...
pc_doctor Posted August 16, 2006 Author Share Posted August 16, 2006 Due to security reasons I have to allow the screen lock. So is there no way to just tell AutoIt to continue if it sees the Windows Security Dialog or the Computer Locked dialog? I am assuming that is what is happening. In an insane world, the sane must appear insane Link to comment Share on other sites More sharing options...
mike1305 Posted August 16, 2006 Share Posted August 16, 2006 Due to security reasons I have to allow the screen lock.So is there no way to just tell AutoIt to continue if it sees the Windows Security Dialog or the Computer Locked dialog? I am assuming that is what is happening.I see what you mean. Windows is timing out and your network makes it so the computer gets locked after X minutes if inactivity? Are you trying to avoid this lock from happening? I don't see how it could with all the keys being pressed during the install process. If you can pin down a section of the script you think this is happening in, throw a random mouse movement in there to keep windows awake.hope that is what you are referring to.mike Amp Energy Drink: the official sponsor of me scripting at 2AM. Link to comment Share on other sites More sharing options...
CoePSX Posted August 16, 2006 Share Posted August 16, 2006 Hmmm... Maybe If WinExists("classname=#32770", "") Then WinWaitClose("classname=#32770", "") EndIf oÝ÷ Ù8b²)íéh¢"ZZºÇë®*mº{b[a{§v°êò¢ç(ºWcºËm¯&Þ~Þ¶¢ËZVÛz§±«¢+Ø)5Í ½à À°ÅÕ½Ðí%¹Íѱ±Ñ¥½¸ÅÕ½Ðì°ÅÕ½ÐíA±Í¼¹½ÐÁÉÍÌ ÑÉ°±Ð°Õ¹Ñ¥°¥¹Íѱ±Ñ¥½¸¥¸½ÙȸQ¡¹Ì¸ÅÕ½Ðì¤( [quote name='Valik' post='301213' date='Jan 31 2007, 10:36 PM']You seem to have a habit of putting things in the wrong place. I feel sorry for any female you attempt to have sex with.[/quote][font="Lucida Sans Unicode"]╔══════════════════════════════╗║░░██░░░░░░░░██░░███░░░████░░░█║║░█░░█░░██░░█░░█░█░░█░█░░░░█░█░║║░█░░░░█░░█░████░███░░░██░░░█░░║║░█░░█░█░░█░█░░░░█░░░░░░░█░█░█░║║░░██░░░██░░░██░░█░░░░███░█░░░█║╚══════════════════════════════╝[/font] Link to comment Share on other sites More sharing options...
pc_doctor Posted August 16, 2006 Author Share Posted August 16, 2006 Thanks for the reply, Mike. My ultimate goal is to allow the script to continue even after the CTRL_ALT_DEL is pressed or the screensaver invokes. The software I am installing (multiple verisons inwhich the example I sent is just the first script) takes over an hour to finish. It isn't practicle to sit in front of a computer watching the install. I have tried Installshield technology without much success (and it only does "silent" installs so you aren't able to quickly determine how far along an install is). AutoIt allows me to just look at the screen and have a good idea how much longer to go. I've spent the last few days updating my original scripts and removing the "SEND" commands, substituting ControlClicks where possible. Here is an axample of one of the other scripts associated with this install process. Works until CTRL_ALT_DEL... expandcollapse popupDim $dialogfound = 0 Dim $regvalue = 0 $regvalue = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Cadence Design Systems", "Cadence SPB 15.2") BlockInput(1) RUN("SETUP.EXE") SplashTextOn("Cadence 15.2 ISR Installation Starting", "Please DO NOT touch keyboard or mouse!",-1,100,-1,0,16,"",12,500) Do If WinActive("Cadence SPB 15.2 Update Setup", "The setup has detected") Then WinActivate("Cadence SPB 15.2 Update Setup", "The setup has detected") ControlClick("Cadence SPB 15.2 Update Setup", "&Yes", "Button1") $dialogfound=1 Sleep(250) Endif If WinActive("Cadence SPB 15.2 Update Setup", "Update Setup for Cadence SPB 15.2") Then WinActivate("Cadence SPB 15.2 Update Setup", "Update Setup for Cadence SPB 15.2") ControlClick("Cadence SPB 15.2 Update Setup", "&Next >", "Button1") $dialogfound=2 Sleep(250) Endif If WinActive("Cadence SPB 15.2 Update Setup", "License Agreement") Then WinActivate("Cadence SPB 15.2 Update Setup", "License Agreement") ControlClick("Cadence SPB 15.2 Update Setup", "I &accept", "Button5") ControlClick("Cadence SPB 15.2 Update Setup", "&Next >", "Button2") ; Send("!a") ; Send("{ENTER}") $dialogfound=3 Sleep(250) ElseIf WinActive("Information", "OK") Then WinActivate("Information", "OK") Send("{ENTER}") $dialogfound=4 MsgBox(0, "Insufficient Rights", "Cadence must be installed under an account with Administrative Rights.") Exit ElseIf WinActive("Cadence SPB 15.2 Update Setup", "This setup has detected that SPB 15.2 Update 1 has not been installed on this system.") Then WinActivate("Cadence SPB 15.2 Update Setup", "&No") Send("!n") $dialogfound=5 Exit Endif If WinActive("Cadence SPB 15.2 Update Setup", "We advise you") Then WinActivate("Cadence SPB 15.2 Update Setup", "We advise you") ControlClick("Cadence SPB 15.2 Update Setup", "OK", "Button1") $dialogfound=6 Sleep(250) Endif ; Send("{ENTER}") If WinActive("Cadence SPB 15.2 Update Setup", "Choose Destination Location") Then WinActivate("Cadence SPB 15.2 Update Setup", "Choose Destination Location") ControlClick("Cadence SPB 15.2 Update Setup", "&Next >", "Button3") $dialogfound=7 Sleep(250) Endif ; Send("!n") If WinActive("Cadence SPB 15.2 Update Setup", "Installation Summary") Then WinActivate("Cadence SPB 15.2 Update Setup", "Installation Summary") ControlClick("Cadence SPB 15.2 Update Setup", "&Next >", "Button1") $dialogfound=8 Sleep(250) Endif if WinActive("Cadence SPB 15.2 Update Setup", "Update Complete") Then WinActivate("Cadence SPB 15.2 Update Setup", "Update Complete") ControlClick("Cadence SPB 15.2 Update Setup", "Finish", "Button4") $dialogfound=9 Sleep(250) Endif Until $dialogfound = 9 ; Send("{ENTER}") SplashOff() BlockInput(0) EXIT In an insane world, the sane must appear insane Link to comment Share on other sites More sharing options...
mike1305 Posted August 16, 2006 Share Posted August 16, 2006 (edited) Looks good. Make sure to give your script all the fail-safes required. What will your script do if the installer instantly crashes and it is sitting there waiting for a window to come up that will never come? I like your idea with the If statements, which would basically make the script breeze through to the end in the case of a crash. maybe you need a bit of some sleeps inbetween the ifs though in case you get some slower computers that lag. as far as making the script work while ctrl+alt+del window is up, I think that the controlclicks will still work when the window being clicked to is inactive. edit: just noticed the do...until loop. interesting idea! only a few extra lines and pretty solid. Edited August 16, 2006 by mike1305 Amp Energy Drink: the official sponsor of me scripting at 2AM. Link to comment Share on other sites More sharing options...
BPBNA Posted August 16, 2006 Share Posted August 16, 2006 (edited) If you are checking for the window to be active then you dont need to activate it again. Also, the window doesnt need to be active, or even visible for ControlClick to work. Instead of: if WinActive("Cadence SPB 15.2 Update Setup", "Update Complete") Then WinActivate("Cadence SPB 15.2 Update Setup", "Update Complete") ControlClick("Cadence SPB 15.2 Update Setup", "Finish", "Button4") $dialogfound=9 Sleep(250) EndifoÝ÷ Ù:òjëh×6if WinExists("Cadence SPB 15.2 Update Setup", "Update Complete") Then ControlClick("Cadence SPB 15.2 Update Setup", "Finish", "Button4") $dialogfound=9 Sleep(250) Endif Edited August 16, 2006 by BPBNA Link to comment Share on other sites More sharing options...
pc_doctor Posted August 16, 2006 Author Share Posted August 16, 2006 Thank you for your input! I will try removing the WinActivate lines. Obviously if the screen is locked the window won't Activate I have been searching the forum trying to find previous posts and I see that some are using this: While 1 ; code here Wend Is this ment to cause an endless loop that can only be exited using EXIT? My teachers always told me that I was a bad coder if I did that... In an insane world, the sane must appear insane Link to comment Share on other sites More sharing options...
BPBNA Posted August 16, 2006 Share Posted August 16, 2006 Yes, it causes and endless loop. I don't think that is bad coding at all, especially if his solution to it is setting a variable to 1 for the While and still using the same Exit command. Same concept, more code. I find it clean and simple, if the script works as intended, it will exit the loop like it should, if not, the script will crash and exit the loop anyways. Link to comment Share on other sites More sharing options...
pc_doctor Posted August 17, 2006 Author Share Posted August 17, 2006 Well, I removed the WinActivates and the script runs faster. Thank you for the tip. However, my original problem persists. How to keep the script executing in the background if the system is locked. In an insane world, the sane must appear insane Link to comment Share on other sites More sharing options...
mike1305 Posted August 17, 2006 Share Posted August 17, 2006 Well, if the script does not run when the computer is locked, don't lock the computer. If it is locking itself during long pauses while programs are between user input windows in installations, add one of these puppies in there: Do Sleep(60000) Opt("MouseCoordMode", 1) MouseMove(1, 1, 1) Until WinActive("YOUR_WINDOW", "WINDOW TEXT") Amp Energy Drink: the official sponsor of me scripting at 2AM. Link to comment Share on other sites More sharing options...
pc_doctor Posted September 20, 2006 Author Share Posted September 20, 2006 Well, if the script does not run when the computer is locked, don't lock the computer. If it is locking itself during long pauses while programs are between user input windows in installations, add one of these puppies in there: Do Sleep(60000) Opt("MouseCoordMode", 1) MouseMove(1, 1, 1) Until WinActive("YOUR_WINDOW", "WINDOW TEXT") Mike, I have been away from work for a few weeks so sorry for the delay in this reply. Could you be more explicit in your solution? What does the Do/Until loop do do? LOL Where would I put it? In an insane world, the sane must appear insane Link to comment Share on other sites More sharing options...
Zedna Posted September 20, 2006 Share Posted September 20, 2006 From original: if WinExists("Cadence SPB 15.2 Update Setup", "Update Complete") Then ControlClick("Cadence SPB 15.2 Update Setup", "Finish", "Button4") $dialogfound=9 Sleep(250) Endif oÝ÷ Ù:ò¶¬jëh×6 While Not WinExists("Cadence SPB 15.2 Update Setup", "Update Complete") Sleep(250) WEnd ControlClick("Cadence SPB 15.2 Update Setup", "Finish", "Button4") $dialogfound=9 Sleep(250) oÝ÷ ØêÛzÛ^«¢+Ø)]¥¹]¥Ð ÅÕ½Ðí ¹MAÄÔ¸ÈUÁÑMÑÕÀÅÕ½Ðì°ÅÕ½ÐíUÁÑ ½µÁ±ÑÅÕ½Ðì¤) ½¹Ñɽ± ±¥¬ ÅÕ½Ðí ¹MAÄÔ¸ÈUÁÑMÑÕÀÅÕ½Ðì°ÅÕ½Ðí¥¹¥Í ÅÕ½Ðì°ÅÕ½Ðí ÕÑѽ¸ÐÅÕ½Ðì¤(ÀÌØí¥±½½Õ¹ôä)M±À ÈÔÀ¤ Because your script quickly test whether window exists and if not (due to Lock window) then goes at next lines... Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
pc_doctor Posted September 21, 2006 Author Share Posted September 21, 2006 Hmm. I think I see where you are going. I'll give it a try. Thank you. From original: if WinExists("Cadence SPB 15.2 Update Setup", "Update Complete") Then ControlClick("Cadence SPB 15.2 Update Setup", "Finish", "Button4") $dialogfound=9 Sleep(250) Endif oÝ÷ Ù:ò¶¬jëh×6 While Not WinExists("Cadence SPB 15.2 Update Setup", "Update Complete") Sleep(250) WEnd ControlClick("Cadence SPB 15.2 Update Setup", "Finish", "Button4") $dialogfound=9 Sleep(250) oÝ÷ ØêÛzÛ^«¢+Ø)]¥¹]¥Ð ÅÕ½Ðí ¹MAÄÔ¸ÈUÁÑMÑÕÀÅÕ½Ðì°ÅÕ½ÐíUÁÑ ½µÁ±ÑÅÕ½Ðì¤) ½¹Ñɽ± ±¥¬ ÅÕ½Ðí ¹MAÄÔ¸ÈUÁÑMÑÕÀÅÕ½Ðì°ÅÕ½Ðí¥¹¥Í ÅÕ½Ðì°ÅÕ½Ðí ÕÑѽ¸ÐÅÕ½Ðì¤(ÀÌØí¥±½½Õ¹ôä)M±À ÈÔÀ¤ Because your script quickly test whether window exists and if not (due to Lock window) then goes at next lines... In an insane world, the sane must appear insane Link to comment Share on other sites More sharing options...
janjansen Posted October 24, 2006 Share Posted October 24, 2006 hello Doctor, did you allready find a solution? I have the same problem as well. I use autoit to make a backup from several databases (navision) and when I run this script when I'm working behind my computer, it works flawless. But when I run this script from the scheduler and leave my computer alone, then it stops after a while. If I move the mouse (without clicking) then the script continues. I also put a Send({SCROLLLOCK on}) and off in the while loop, but that doesn't help either. (you can see the led go on and off) but the script only continues if I move the mouse by hand. 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