Потому что видео выводится не в буфер экрана Windows, а в режиме Overlay, то есть напрямую на видеокарту. PrintScreen захватывает картинку исключительно из буфера экрана Windows, поэтому вместо видео там получается черный экран.
Как можно сделать скриншот:
1. Если вы используете Media Player Classic, по поменяйте DirectShow Renderer на «VMR-9 (Windowed)» или «EVR (Custom pres)»
2. Установите VLC Media Player (если не хотите мусорить в реестре, качайте Portable версию). В меню «Видео» есть пункт «Снимок».
3. Если у вас Windows 7, то можно попробовать сделать PrintScreen запустив видео в стандартном проигрывателе Windows Media Player.
При оверлее область вывода закрашивается ключевым цветом, которая затем средствами видеокарты подменяется изображением. Поэтому аппаратный оверлей невозможно скопировать в буфер средствами GDI, фактически, для GDI, это просто прямоугольная область закрашенная ключевым цветом. Если ее удалось скопировать функцией PrintScreen означает лишь то, что оверлей не работает.
4. Оверлей может быть только один. Из этого и выходит способ - запускаем какой-нить плеер, неважно какой и включаем там кину - это наш оверлей. Теперь запускаем еще копию проигрвателя и открываем там кину, с которой надо снять скрин. Раз оверлей уже занят то во втором случае кино пойдет без оверлея. Что и требовалось)))
Это сообщение отредактировал xuman1 - 24.05.2013 - 11:23