Вы можете попробовать проект с открытым исходным кодом c ++ WinRobot @git , мощный захват экрана
CComPtr pService;
hr = pService.CoCreateInstance(__uuidof(ServiceHost) );
//get active console session
CComPtr pUnk;
hr = pService->GetActiveConsoleSession(&pUnk);
CComQIPtr pSession = pUnk;
// capture screen
pUnk = 0;
hr = pSession->CreateScreenCapture(0,0,1280,800,&pUnk);
// get screen image data(with file mapping)
CComQIPtr pBuffer = pUnk;
Поддержка: