Существуют DirectShow-совместимые фильтры для захвата экрана. Что позволит вам использовать любую программу записи для захвата содержимого экрана или самостоятельно написать приложение в .NET (но это не легко).
Я использую:
http://www.hmelyoff.com/index.php?section=9
РЕДАКТИРОВАТЬ: У меня нет образца или опыта работы с WME SDK. Но я бы порекомендовал пойти по маршруту DirectShow, чтобы избежать необходимости наличия WME в хост-системе, отсутствия его поддержки и просто полезно знать DirectShow (или сделать это самостоятельно), а не какой-нибудь случайный API.
Чтобы использовать фильтр Hmelyoff, он работает так же, как веб-камера. Это просто еще один источник видеозахвата, доступный любому приложению, которое хочет вводить видео. Он работает, просто копируя часть буфера viedo в его выходной контакт на каждом кадре (используя функцию API, такую как BitBlt).
Пример кода: здесь .
Или, если вы хотите просто подключиться к DirectShow, самый простой способ - использовать библиотеку для взаимодействия с COM. http://directshownet.sourceforge.net/ хороший.
Снова отредактируйте: Захват в качестве видео аналогичен захвату кадров. Он просто захватывает кадры 30 раз в секунду. Процессор боров? Не ожидайте получения полной частоты кадров.
Если вы спрашиваете, как сохранить кадры как видео, то вам нужно будет передать данные в видеокодер. Для этого вам потребуется интерфейс DirectShow.