Link to home
Start Free TrialLog in
Avatar of LawlessOne
LawlessOne

asked on

Windows XP launch visible program before logon

Hello Experts -

I looking for general guidance here as well as whatever other help anyone can supply, I'm going to supply probably more information than you want because I'm not sure what exactly is significant:

I have written two programs in vb.net, a monitoring process which looks for a cookie and an interactive keyboard which the monitoring process launches when it detects the cookie.  The process works fine on XP when the monitoring program is running - for instance, if I drop the monitoring program in startup for all users.

However, the box on which I need to run this setup normally does not logon - it start services which (I'm guessing) launch the interactive programs, which is some sort of program hosting an embedded explorer window.  If I start task manager i can see the logon window process "waiting" as well as other programs under the System User.

I would like to launch the monitoring process as a service as well, and have it display my interactive keyboard in the viewable "instance", or viewport, or whatever that the explorer type program is in... but I can't figure out what that might be since nobody is logged in.  

Am I on the right track trying to do this as a service?  I have written services before but haven't dealt with this type of scenario.  I have been messing around with CreateProcessAsUser but there seems to be the need for a logged on user for this to work?  I have researched this somewhat but am in a little over my head here.

Thanks for any help and your patience with my explanation.  I will supply any particulars that might be useful.
Avatar of oobayly
oobayly
Flag of United Kingdom of Great Britain and Northern Ireland image

As far as I'm aware, the login dialog is the only gui allowed to exist before loging on. The (now mostly unused) Ctrl+Alt+Delete before login was there for exactly that reason: Only windows is allowed to capture Ctrl+Alt+Delete, so by forcing a user to hold that combination of keys meant that if the dialog displaying the prompt was replaced with login dialog, the user could be sure that it was legitimate.

I can't imagine any modern OS allowing user input before authentication.

I'm afraid what you're asking for sounds disturbingly like a keylogger or a fake login dialog.

If you really need to be able to monitor the machine while it's not logged in, then I'd suggest creating something like a webservice that you can poll for the required data.
Avatar of LawlessOne
LawlessOne

ASKER

oobayly, For what it is worth, I assure you I'm not trying to do anything like keylogging or a make a fake login dialog.  No keyboard is attached to these boxes and nobody logs into them normally - they are XP boxes that launch services which spawn process on the screen that a user can interact with.

What I'm trying to do is present a virtual keyboard on a touch screen.  To do that I'm popping the keyboard when requested from a monitoring process, which I would normally put in Startup, but Startup programs don't run on this setup normally - there is a process launched that puts some sort of embedded internet explorer type program on screen, like IE in kiosk mode but embedded in some kind of other window.
That makes it much clearer. I'n a little bit incredulous that the apps are running with a gui while no user has been logged in, but anyhow.
I'm afraid I can't offer any advice as to your question

The only way I can see this settup running is like some of those supermarket self scan kiosks you get. XP is configured to login automatically, and then the app runs full screen, hooking low-level keyboard events so that focus can't be taken from it.
Thanks for trying anyway.

Unfortunately for me it does not do an auto login (and it would cause headaches for me to switch the box to this), because then I would be able to use the startup to run my monitor.  
ASKER CERTIFIED SOLUTION
Avatar of JMoon5FTM
JMoon5FTM

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
JMoon5FTM, I apologize - for some reason I never saw a notify on your comment as I did on the earlier ones, and I finally just came back to abandon the question.

Your approach is very close to what I have been trying... I'm going to check particulars against what you describe here and I will comment back.

Again my apologies - I appreciate your comment!
Good answer, thanks for the help.