pipeName[^8..] crashed for 5-char port strings (e.g. "54321").
Now uses port number directly as task name suffix.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Named pipe created by SYSTEM service denied connection from user process.
TCP loopback socket (127.0.0.1:random) has no cross-session ACL issues.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- CaptureModeRunner: captures desktop in user session via schtasks,
sends JPEG frames over named pipe to service
- RtcService: creates named pipe server, spawns helper via schtasks
(same pattern as NotificationService), reads frames and forwards to WS
- Program.cs: added --rdp-capture <pipeName> mode
- Multi-monitor: captures all screens combined
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>