Bypass XYplorer's Being Busy When Running Scripts
Posted: 30 Mar 2013 08:22
One problem with XYplorer is that when it's running a script, it can't really do anything else. Due to certain scripts that I run, I can't minimize, maximize, or do much with XYplorer because it's busy processing the script. One good example is 40k's Youtube script which when using XYplorer's built in download feature, you can't minimize XYplorer. So this might be useful for some people.
The one way you can deal with this issue is launch another instance of XYplorer using:
<xypath>\<xyexe> is obviously the path to XYplorer.exe. /ini=""<xyini>"" forces XYplorer to launch a new instance regardless of the "Allow Multiple Instances" setting under "Startup & Exit" in the settings. /win=min forces the new instance to be launched minimized so that it won't get in the way of your current instance of XYplorer. Finally /script=""Script"" runs the selected script. So basically you run pre-run Program.xys that launches a new instance that process your main code ProgramMain.xys that does the actual thing that you want it to do. After your main program finish running, you can then use:
To exit that instance without saving that session.
One issue is that variables do not carry over even if you have "Remember permanent variables" on because you must save your current session before it is registered in the new instance. If somehow you need to save variables in your pre-run program, you can bypass by using something like:
and then use:
in your main script.
So in the case of the Youtube scrip, the pre-run script would launch a new instance of XYplorer that run the main script, download the Youtube video, and then quit once it finish downloading. That new instance is already minimize so you can do whatever you were doing before with XYplorer or the desktop.
The whole working method is found here in my new script:
http://www.xyplorer.com/xyfc/viewtopic.php?f=7&t=9472
The pre-run program is LongPathFinder.xys which opens a new instance of XYplorer and run the main program which is LongPathRun.xys.
Have fun!
The one way you can deal with this issue is launch another instance of XYplorer using:
Code: Select all
Run """<xypath>\<xyexe>"" /ini=""<xyini>"" /win=min /script=""Script""";Code: Select all
Exit "n";One issue is that variables do not carry over even if you have "Remember permanent variables" on because you must save your current session before it is registered in the new instance. If somehow you need to save variables in your pre-run program, you can bypass by using something like:
Code: Select all
WriteFile("<xyscripts>Variable.txt","$Variable",,t);Code: Select all
$Variable = ReadFile("<xyscripts>\Variable.txt",t);So in the case of the Youtube scrip, the pre-run script would launch a new instance of XYplorer that run the main script, download the Youtube video, and then quit once it finish downloading. That new instance is already minimize so you can do whatever you were doing before with XYplorer or the desktop.
The whole working method is found here in my new script:
http://www.xyplorer.com/xyfc/viewtopic.php?f=7&t=9472
The pre-run program is LongPathFinder.xys which opens a new instance of XYplorer and run the main program which is LongPathRun.xys.
Have fun!