Create a GUI from Windows Service using Network Log

I read a lot about running a GUI application from a Windows service. The checkbox "Allow the service to interact with the desktop" worked for me when the Service works as a SYSTEM user (I use Windows XP). Now I need the Service to run as the User defined in the domain (from the network). Everything works fine (even if no user is logged in), but the graphical interfaces are not displayed (even if the same network user is registered!). I know that graphical interfaces work, they are just hidden. Why is this? Is there a way to show them if the user is logged in (for example, when the user creates SYSTEM and allows interaction with the desktop!)? if so, does it work if the user is logged in does not match the one the service is running on?


Edit:

@casperOne: I see your solution, and it's the same as people (even you) posted. In my case, though, I'm sure I work in a safe environment, and ONLY one user will be credited to the machine at a time. Is there nothing that could be done to simply display the GUI? Why does it work with a user system that allows you to interact with the desktop, and not with another user?

+3
source share
3 answers

Your approach is completely wrong and will not work when deployed to Vista.

Services should NEVER accept a desktop login session for interaction.

, , , ( - ), , , / .

. ( ) :

, ?

+7

: ,

: Noooooo.

Microsoft , . casperOne, .

0

And even in XP, it didn’t work on computers that weren’t connected to a domain (if you have several users using Fast User Switching, pop-ups were displayed on any desktop or without a desktop at all).

As to why Microsoft changed this, do a quick search for “Shatter Attack” - by isolating the service code from the desktop, they completely disabled this entire family of security vulnerabilities.

0
source

All Articles