Sign in to follow this  
Followers 0
narayanjr

if exists close one

6 posts in this topic

basically i want to run a program

and if the same program is run again then kill the newest one before it does any thing

im sure its really easy but i cant seem to think straight right now and everything i do

as soon as the first one opens it closes it

Thanks

Share this post


Link to post
Share on other sites



basically i want to run a program

and if the same program is run again then kill the newest one before it does any thing

im sure its really easy but i cant seem to think straight right now and everything i do

as soon as the first one opens it closes it

Thanks

please search, this has been brought up no more than 2 pages ago,


[u][font="Century Gothic"]~я α и d γ ĵ . ċ . ѕ қ ϊ и и ε я~- My Programs -auto shutdownSleep funcdisallow programs[/font][/u]

Share this post


Link to post
Share on other sites

Try this from the help file:

If ProcessExists("notepad.exe") Then

MsgBox(0, "Example", "Notepad is running.")

...

EndIf


...by the way, it's pronounced: "JIF"... Bob Berry --- inventor of the GIF format

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

If the program is an AutoIt script use _Singleton to prevent multiple instances.

- The Kandie Man ;-)

Edited by The Kandie Man

"So man has sown the wind and reaped the world. Perhaps in the next few hours there will no remembrance of the past and no hope for the future that might have been." & _"All the works of man will be consumed in the great fire after which he was created." & _"And if there is a future for man, insensitive as he is, proud and defiant in his pursuit of power, let him resolve to live it lovingly, for he knows well how to do so." & _"Then he may say once more, 'Truly the light is sweet, and what a pleasant thing it is for the eyes to see the sun.'" - The Day the Earth Caught Fire

Share this post


Link to post
Share on other sites

This code demonstrates how to catch the 2nd process by the use of PID.

; Instance 1
Run('notepad.exe')
ProcessWait('notepad.exe')
$pid = ProcessExists('notepad.exe')
MsgBox(0, '1', $pid)

; Instance 2
Run('notepad.exe')
Sleep(1000)
$list = ProcessList('notepad.exe')
If Not @error Then
    For $i = 1 To $list[0][0]
        If $list[$i][1] <> $pid Then
            MsgBox(0, '2', $list[$i][1])
            ProcessClose($list[$i][1])
        EndIf
    Next
EndIf

:)

Share this post


Link to post
Share on other sites

jefhal i saw that in help and it doesnt work it just closed the program as soon as it opened

thank you kandi man and mhz for the help

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  
Followers 0