Jump to content
Sign in to follow this  

Scheduled task when no login. "text" data blank?

Recommended Posts


I have an AutoIT V3 script that downloads a bunch of data nightly using multiple RAdmin file transfers, on a Microsoft 2003 Server host.

(Yes, I am careful to avoid WinActivate(), Send(), etc and all the things that don't work when a real desktop is not active. P.S. TrayTip() also causes locking in that situation, which was a bit of a surprise...)


It runs fine when run manually on a desktop,

It runs fine if the task-owner has ANY desktop logged in anywhere (As you may know, Server 2003 has some limited multiple-desktop support, I think it is max of 2 remote + 1 console login, or something like that...)

Problem is: if NO login is active, my script fails (it stops at a point), and I have tracked down the reason:

While the windows DO come up, and are detectable with WinWait("Some Title"), the windows NEVER seem to have any gleanable 'text' on them. When I say 'text', I mean the stuff often used as second parameter on many Win*() functions. I can use WinList() and a debug dump to demonstrate this.

Since I am using multiple windows (refer para 1 above), I need to be able to get the 'text' so that I can pick which window to operate on. I also need the text to know where the download process is at... And when it's finished.

Can anyone offer a solution such that AutoIT V3 can get at text in windows in this state?

Perhaps the windows/controls are not 'painting/configuring' themselves since they never really become active/shown if there is no desktop???

I have tried calling WinActivate(), WinSetState(..., @SW_ENABLE), WinSetState(..., @SW_SHOW), all to no avail.

I really want to get this working. It needs to run daily and very reliably, so I don't want to need an active login for it to work...

Any tips much appreciated.

(P.S. Amazing tool Jonathan, if you read this, Cheers.)

Edited by peter-n

Share this post

Link to post
Share on other sites

It's OK, I figured it out myself.

This does the trick:

Opt("WinDetectHiddenText", 1)

Sheesh - This must have been a hard one - zero replies with help!

Anyway, there you go. If you are writing AutoIT scripts to run from scheduled tasks, you might find that setting this helps a LOT for Window control... If you need to use the 'text' parameter of Win*() functions, etc.

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  


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.