2014-10-30 4 views
0

У меня возникла проблема с созданием скриншота окна BlueStacks (это эмулятор Android) с некоторой игрой, играющей в нем.Capture неактивное окно с C#

Во-первых, я попробовал CopyFromScreen метод, и он отлично работает. Но после некоторого времени я хочу сделать снимок экрана окна, когда он не покажет, чтобы выполнить другую работу во время этого.

Вскоре я нашел красивое решение - PrintWindow, но по какой-то причине он занимает черный захват экрана (я вижу рамку окна Bluestacks, но черный квадрат внутри).

Я думал, что это вина какого-то 3D в этой игре и попыталась использовать SlimDX library, это здорово, но это не помогло - оно захватывает только показы пикселей, а не неактивное окно.

Итак, как я могу получить снимок экрана из окна hWnd, когда он неактивен? Или, может быть, я могу использовать другие методы получения информации из Bluestacks? Есть ли у него API? Мне нужна картина, чтобы распознать числа.

Любое решение будет принята с благодарностью!

ответ

1

Вы можете использовать команды ADB:

adb shell /system/bin/screencap -p /sdcard/screenshot.png 
adb pull /sdcard/screenshot.pngc:\screenshot.png 

и ваш скриншот будет C:\screenshot.png для больше вы можете увидеть Android Debug Bridge.