"default" Desktop and Ctrl+Alt+Del

G

Guest

Hello,
I'm currently programming an application which is started replacing the
userinit.exe.
The code does the following.
When the user logs on the application is creating a new desktop
"newDesktop", then the original userinit is created at "newDesktop". So the
shell uses "newDesktop" as its desktop, too. The same is with the other
applications, that are started when the user logs on.
After starting the original userinit the program creates another desktop
"formDesktop" where the forms of my Desktop are displayed, while the system
configuration of the logged on user is loaded in the background. In this form
the user has to solve some tasks and when this is done correct the
"formDesktop" closes and the "newDesktop" is set as visible Desktop and the
program exits else the user will be logged off.

For sure you ask why "newDesktop" for the shell process? The answer is that
when the user logs on the visible desktop is "default". If I don't use
"newDesktop" the user can manipulate the desktop before the form is displayed
and this cannot be allowed. If the application sets the "default" desktop
visible before exit the hotkeys and trayicons and so on are still registered
to the "newDesktop" and not the "default" desktop, so "newDesktop" stays the
user's desktop for the session.

What is the problem I have? Well, the ctrl+alt+del event opens the
taskmanager in the "default" desktop, thus it's invisible to the user,
although the process exist.

Making the long story short, here is the question: Is there a way to make
the taskbar appear in the "newDesktop" when ctrl+alt+del is pressed?

I hope I could make myself clear.
kind regards,

Alexander
 
A

Alun Harford

Alexander said:
What is the problem I have? Well, the ctrl+alt+del event opens the
taskmanager in the "default" desktop, thus it's invisible to the user,
although the process exist.

Making the long story short, here is the question: Is there a way to make
the taskbar appear in the "newDesktop" when ctrl+alt+del is pressed?

You might be able to write a service/driver to catch ctrl+alt+del. It
throws a privilaged interrupt that only the kernel gets.
However, I suspect this won't work on Vista x64, and when Microsoft
releases SP1 for Vista x86, it probably will stop it working on that too.

Bascically, I don't think you can catch ctrl+alt+del, and even if you
find a way, you shouldn't (Microsoft will probably fix the flaw and
break your program, and antivirus/antispyware programs will not like
this behavior).

Alun Harford
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top