I have a running windows service. I would like to monitor a c# console application from the windows service. My c# console
It's not just GUI applications that don't work with Windows Services. Console applications have the same problem. They still run as a user-mode process, to which a Windows Service does not have access. Services run in a completely isolated process space called Session 0. They don't have access to the desktop of any user account, and they can't interact with applications running on those desktops.
Aside from that, console applications still show a user interface. The command prompt window that pops up on the screen still counts, even if it's not graphical. Launched from a Windows Service, it has no place to pop up.
This is a security feature of Windows Vista and later. The "Enable service to interact with desktop" checkbox doesn't work anymore, and it hasn't since Windows XP. You weren't supposed to use it there, either. Isolation protects Windows Services from attacks that originate in application code.
Like almost every other time I see people asking questions like this, it's not clear why you need to use a Windows Service in the first place. The simpler option is to create a Windows application that doesn't show any forms, and run it in the background. This creates an effect very similar to a Windows Service, but without the limitations you're experiencing. Because it's still running in the current user's space, it can launch and control other user mode applications.
Related reading:
Does your console application log any errors? Perhaps try checking the error logs to see what might be the cause of the console app issue. This question may guide you to an answer/fix:
Avoid Program Stopped Working in C#
Your question has some issues, as you mention, most windows servers block services directly accessing the GUI, as well as a service runs as its own instance of a user rather than any the one logged in. As a result, accessing a user run application is difficult if not impossible (just as the same way it cant see your user directories)
What is more feasible is the reverse.
If you have a service which your console app wishes to interact with, it could announce its arrival, and then on connection the service can reply with instructions for your console app to carry out. But, you would need to devise a structual method of doing so.