Is there a function or API call to detect system is at logon screen?
I have a Windows 7 machine that is running a series of AutoIT 3 scripts from a master script.
When run manually, the entire set of scripts runs fine. The scripts downloads data and do conversions and email results.
When run from task scheduler, the machine awakes and starts running the master script. The first script runs fine, but the second part fails. The first script is a simple call to an exe file that just runs. The second script calls another exe file, but requires a few mouse clicks to run. The further on scripts all run fine.
When letting the script run from task scheduler (after being put to sleep) , if I move the mouse (or press a key), the login screen comes up (Strange, as No Password is set, and when machine boots, it comes straight into desktop). If I click on the icon (no password) the scripts run fine.
I am sure there is a setting somewhere that I have to set differently in task scheduler, or there is something in a W7 setting I need to change.
My Task Scheduler quick tests are in the lines of:
Run only when user is logged on / Run whether user is logged on or not
Run with Highest Privileges / or Not
Configure for: (W7 / Vista / XP)
Getting lost in the combinations, so will have to do a methodical series of tests, but hoping someone here might have some experience or suggestions.
So, is it a Task Scheduler Setting (what combo) or a Windows 7 setting (what and where)?
Any help or suggestion is appreciated.
Thanks in Advance.
This script will get all Scheduled tasks as defined on a system
There are basically 3 functions in this small udf:
_TaskGetFolders() will return an array of all folders as from a given Scheduler Library folder, recursively. $aFolders will have to be declared before the function is called, I am not sure if there is a better method to avoid having to declare the array outside of _TaskGetFolders()... _TaskListAllDetailed() will return a detailed array of all tasks in a given task folder, recursively. This function is using _TaskGetFolders() for the recurse option. _TaskListToText() will create a formatted output of scheduled tasks as returned to the above array. The script is complementary to taskplanerCOM.au3 by Allow2010.
The example shows
all folders in the Scheduler Library All scheduled tasks in root (with formatted output) All scheduled tasks on the system Scheduled tasks Windows Defender if available _TaskListAllDetailed.au3
I tried to start Skype via Task Scheduler, but when it started, it only ran in the background. Then I made an AutoIt script to open the Start menu, type the path to Skype and press Enter. That also didn't work. The Task Schedular claimed the process started, but I didn't see anything happening.
After doing some research, I found out that the problem was that I selected the checkbox in Task Scheduler to run the task even when I'm not logged in. When you do that, Task Scheduler runs the task in the background, so you can't see the started program.
I didn't see anyone mention this on the forum, so I thought I'd mention this here.