API записи экрана Windows 10 UWP

Я ищу класс UWP, такой как https://msdn.microsoft.com/en-us/library/windows/apps/windows.media.capture.screencapture

Я хочу создать Screen Recorder, но не могу найти ни одного класса, который бы соответствовал моим потребностям. Это возможно?

Большое спасибо.

2 ответа

Решение

Ваше приложение работает в песочнице. У него не будет прямого доступа к любому API или ресурсу, который позволит ему действовать вне своей песочницы по соображениям безопасности и стабильности системы. Если вы пытаетесь захватить только те пиксели, которые отображает ваше собственное приложение, вы можете использовать RenderTargetBitmap.RenderAsync();. Если вы пытаетесь захватить пиксели из других приложений, вы не сможете сделать это из своего собственного приложения. Если вы работаете на настольном компьютере, у вас есть возможность использовать Win32 API для выполнения вашей задачи. Для захвата пикселей, отображаемых другими приложениями на устройствах, на которых не установлена ​​операционная система настольного компьютера, вы ничего не сможете сделать.

AFAIK, в UWP нет API, который позволил бы тебе это делать

для этого вашему приложению потребуется доступ к экрану из фона, и это нарушило бы всю идею песочницы приложения

Снимок экрана полностью соответствует описанию.