Действительно, по соображениям безопасности больше невозможно напрямую общаться с «рабочим столом». Что такое «рабочий стол» в любом случае, когда вы живете на машине с несколькими активными пользователями + удаленными сессиями?
Общий способ решения этой проблемы - использование сервисных приложений, которые взаимодействуют через некоторый механизм RPC (TCP / IP, IPC, каналы .Net Remoting через один из них и т. Д.) Это своего рода боль, но я думаю, что преимущества того стоят.