Короткий ответ: вы не можете. Даже если вы каким-то образом вынудили Windows запретить любому приложению записывать экран, по-настоящему выделенный пользователь мог просто указать на свое устройство запись устройства (и действительно выделенный пользователь мог бы определить его каким-то другим способом). Если вы покажете это своим пользователям, вам просто нужно будет верить, что они будут играть честно с ним.
Другая часть этого: вы, вероятно, не должны беспокоиться об этом. Для того, чтобы экранный рекордер выполнял разумную работу по захвату видео, требуется много ресурсов для обработки и памяти. Средний компьютер будет нелегко справляться с дешифровкой, декодированием, воспроизведением и записью видео одновременно - и средний пользователь будет слишком расстроен, даже если они думают попробовать.
Вы можете попытаться сделать это немного сложнее, глядя на популярные продукты для записи на экране и отказываясь воспроизводить видео, если этот процесс работает (или установлен?). Это не будет надежным, но это будет еще один сдерживающий фактор, например.
Process [] skypes = Process.GetProcessesByName("skype.exe");
Process[] otherRecorders = Process.GetProcessesByName("recorder.exe");
if (skypes.Length > 0 || otherRecorders.Length > 0) // don't play
Конечно, это все еще осложняется возможностью этих процессов, запущенных под разными учетными данными, что ваше приложение не может получить доступ (требуется приложение для работы в качестве администратора?), И некоторые процессы будут иметь странные имена (например, приложение Windows Store для Windows).
Не будет ли это работой компонента Windows Media Player? Я имею в виду, что уровень безопасности должен соблюдаться на системном уровне, а не на уровне приложения, иначе кто-то может сделать плеер, который также захватит экран для копирования защищенного контента. Вы наблюдали это в действии или вы просто спекулируете? –
Вы не можете. Даже если бы вы могли, пользователь мог просто взять физическое видео на свой экран. Если видео воспроизводится на компьютере, к нему можно получить доступ. – Doorknob
Я не уверен, @Doorknob. На более медленных компьютерах я перетащил окно просмотра видео по экрану только для того, чтобы увидеть видеоконтент, отстающий от большого черного прямоугольника в окне, которое я перетаскивал. Он сказал мне, что видеоконтент идет по другому пути к экрану, чем другие компоненты пользовательского интерфейса в окне. –