A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
Thank you for reaching out.
Yes, your current design is correct.
Running the service under LocalSystem in Session 0 is fine for privileged work. But screen capture should not be done from there, because Session 0 cannot access the user’s desktop.
To capture the screen properly, the capture code must run inside the active user session.
So, the right approach is:
- Keep your service in Session 0 (LocalSystem) for control, permissions, and lifecycle
- Run a separate component in the user session to do screen capture
This separate component can be:
- a worker process started by your service, or
- a per-user service
Both are valid.
There is no reliable way to capture the interactive desktop directly from a Windows service itself.
Please let us know if you require any further assistance, we’re happy to help. If you found this information useful, kindly mark this as "Accept Answer". So that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.