Newby question - need a script to stop another script

  • Thread starter Steve Henderson
  • Start date
S

Steve Henderson

I have really surprised myself and written a script that actually works!
<grin>. As you will be able to tell, I'm really, really new to this
scripting stuff... My script does a task and then sleeps for 5 seconds, and
does it again (which is what I want). My trouble is that I can't find a way
to stop it without pulling up "task manager" and killing it using brute
force. I think I can use the Popup method with a nsecondstowait value so
that everytime thru the while loop, it pops up and gives me a chance to push
an "OK" button to send the script to an exit, otherwise it times out, and
runs thru the loop again. However, the popup wants to come up in the exact
middle of my screen... and the REAL task I'm doing is to capture parts of
the screen that's changing. When the popup comes up, it gets captured (bad).
So I need another way to kill this thing. Can I write another little script
that will kill this one?

Just for an example, I submit this script below (not the actual one I'm
doing, to save space here). If someone can tell me how to kill this one, I
can apply that to my real one... this really sounds like it should be
simple, but I just can't figure it out...

Example.js (just brings up Word, and sends the character "A" to it over
and over...)
==================================
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.Run("Winword");
while(1)
{
WshShell.AppActivate("Winword");
WshShell.SendKeys("A");
WScript.Sleep(5000);
}

===================================

Steve Henderson
(e-mail address removed)
 
J

J. David Kent

What you have is an infinite loop, which is why it never quits. What you
need is some variable at the end of the loop that increases its value by
1 each time through the loop. Then, instead of while(1) you write

....
while(somevariable < x)
{
...
somevariable = somevariable + 1
}

where x is set to some number 1 greater than the number of times you
want the loop to run.

HTH,

Dave

: I have really surprised myself and written a script that actually
works!
: <grin>. As you will be able to tell, I'm really, really new to this
: scripting stuff... My script does a task and then sleeps for 5
seconds, and
: does it again (which is what I want). My trouble is that I can't find
a way
: to stop it without pulling up "task manager" and killing it using
brute
: force. I think I can use the Popup method with a nsecondstowait value
so
: that everytime thru the while loop, it pops up and gives me a chance
to push
: an "OK" button to send the script to an exit, otherwise it times out,
and
: runs thru the loop again. However, the popup wants to come up in the
exact
: middle of my screen... and the REAL task I'm doing is to capture parts
of
: the screen that's changing. When the popup comes up, it gets captured
(bad).
: So I need another way to kill this thing. Can I write another little
script
: that will kill this one?
:
: Just for an example, I submit this script below (not the actual one
I'm
: doing, to save space here). If someone can tell me how to kill this
one, I
: can apply that to my real one... this really sounds like it should be
: simple, but I just can't figure it out...
:
: Example.js (just brings up Word, and sends the character "A" to it
over
: and over...)
: ==================================
: var WshShell = WScript.CreateObject("WScript.Shell");
: WshShell.Run("Winword");
: while(1)
: {
: WshShell.AppActivate("Winword");
: WshShell.SendKeys("A");
: WScript.Sleep(5000);
: }
:
: ===================================
:
: Steve Henderson
: (e-mail address removed)
:
:
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top