Я некоторое время изучал реализацию скриншота окна:
- При использовании PrintWindow / BitBlt / DwmUpdateThumbnailProperties он в основном способен делать скриншоты, но исключает вышеперечисленные элементы управления.
- Вызов SendMessage (hwnd, WM_PRINT, (WPARAM) hDesDC, PRF_NONCLIENT | PRF_CLIENT | PRF_ERASEBKGND | PRF_CHILDREN | PRF_OWNED) для внутреннего окна процесса моего приложения может захватить эти элементы управления;но для окна других процессов это не будет работать --- я получил черный экран.Другими словами, вызов WM_PRINT между процессами не имеет никакого эффекта.Я также попытался внедрить метод Dll / CreateRemoteThread в качестве «прокси-сервера процесса целевого hwnd», но он не сработал, и с разрешениями было слишком много проблем.
- Однако я вижу, что «ZOOM Cloud Meetings Client"может захватить эти дочерние элементы управления.
Полезно или подсказано?