RoundChecker Posted December 20, 2017 Posted December 20, 2017 Hi everyone, Is there a way to determine whether the script that is running, is already running, without using; If WinExists ? Or is there a way to use "If WinExists" to determine the script itself? The reason I am asking this is because if I want someone to run the .Exe I have and they rename it to whatever they want, how could I then determine in the script to check if there's already an .Exe open, or the script itself is already open? Should I use Class, or how do I achieve this? Thanks in advance.
BrewManNH Posted December 20, 2017 Posted December 20, 2017 Look up _Singelton in the help file. RoundChecker 1 If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
RoundChecker Posted December 20, 2017 Author Posted December 20, 2017 Thanks for your answer. If _Singleton("test", 1) = 0 Then MsgBox($MB_SYSTEMMODAL, "Warning", "An occurrence of test is already running") Exit EndIf MsgBox($MB_SYSTEMMODAL, "OK", "the first occurrence of test is running") ("test", This is the identification of the title of the script, correct? - If the script name were changed, wouldn't it still be possible to run it twice after changing the name? Or did I get it wrong? - Thanks in advance. Should I maybe use WinGetState And refer to the Class: Quote AutoIt v3 GUI instead?
RoundChecker Posted December 20, 2017 Author Posted December 20, 2017 (edited) Is there a way to refer to the script directly to get the script name, instead of typing in the name? like "@. . " Would this suffice? If _Singleton(@ScriptName, 1) = 0 Then MsgBox($MB_SYSTEMMODAL, "Warning", "An occurrence of test is already running") Exit EndIf MsgBox($MB_SYSTEMMODAL, "OK", "the first occurrence of test is running") @ScriptName < Edited December 20, 2017 by RoundChecker edit 1
Moonscarlet Posted December 20, 2017 Posted December 20, 2017 You can put this in the first line of your script to check if it's running or not: If _Singleton(@ScriptName,1)=0 Then Exit MsgBox(262144+16,"Error!",@ScriptName&" is already running!") RoundChecker 1
RoundChecker Posted December 20, 2017 Author Posted December 20, 2017 Yeah thank you that should do, was just wanting to make sure that it would work with using @, thanks again. Solved - request close.
BrewManNH Posted December 20, 2017 Posted December 20, 2017 9 minutes ago, RoundChecker said: If the script name were changed, wouldn't it still be possible to run it twice after changing the name? How about trying it, and DON'T use @scriptname as the parameter because then if someone does rename it and run it again with the new name, this check will fail. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
RoundChecker Posted December 20, 2017 Author Posted December 20, 2017 (edited) @Compiled That works, thanks again. Edited December 20, 2017 by RoundChecker
Moonscarlet Posted December 20, 2017 Posted December 20, 2017 9 minutes ago, BrewManNH said: How about trying it, and DON'T use @scriptname as the parameter because then if someone does rename it and run it again with the new name, this check will fail. You're right, didn't think about this one
BrewManNH Posted December 20, 2017 Posted December 20, 2017 By the way, you put anything you want in the first parameter of _Singleton, any string will work in there. Just don't use anything tied to the name of the script that's interpreted at runtime such as any of the @Script* macros. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
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