У меня есть приложение Windows, которое счищает пиксели с экрана для записи (в виде видео) в пользовательский формат совместного использования экрана. Проблема состоит в том, что на машинах, использующих программный курсор, блики с экрана с помощью SRCCOPY | CAPTUREBLIT (чтобы на изображении также отображались многослойные окна) заставляют мигать курсор, как описано в Случай исчезающего курсора .
Для одиночных снимков экрана это не проблема, но когда несколько снимков экрана делаются в быстрой последовательности, курсор мигает так быстро, что иногда кажется, что он вообще исчезает.
Я рассмотрел использование Windows Media Encoder SDK (как описано в статье проекта кода, см. Ниже), поскольку он не вызывает мигание курсора, но, похоже, нет прямого доступа к данным кадра. К сожалению, как кодирование в реальном времени, так и пользовательский формат являются требованиями, что делает Windows Media Encoder непригодным для этой цели.
Я также попробовал способ DirectX (описанный в той же статье, см. Ниже), и, похоже, он страдает от той же проблемы.
Кто-нибудь еще сталкивался с этой проблемой? Должен быть способ обойти это - многие коммерческие программы совместного использования экрана не имеют такой проблемы.
статья: www.codeproject.com/KB/dialog/screencap.aspx