Gdip_BitmapFromHwnd(Hwnd) ;윈도우 핸들 창지정
위 함수로 블루스택2에서 이미지를 받아오면
아래처럼 검은화면과 정상적인 스샷이 3:7 비율정도로 나옵니다.
정상적으로 나오는 것보니 무슨 방법이 있을 것같은데 도저히 방법이 않떠오르네요..
다른분 글보니 SetBitmapToClipboard()로 하면 정상적인 이미지 받을 수 있다고 하는데
Print Screen 키를 이용한 방법인가요?
아니면 어떤 우회? 방법이 있을까요?
ADB는 제외~~
GDI => GetDC 형식으로 해당 핸들에 대한 화면 얻어옵니다
이는 블루스택1까지만 되고, 블루스택2는 DX10 기반형식이라 GDI로 안 얻어와집니다 (OpenGL 기반도 마찬가지)
그래서 후킹이나 아니면 ADB를 이용해야하는데,
이유는 모르겠지만, 블택2는 캡쳐프로그램 반디캠으로 DX10 후킹 방식으로 캡쳐해도 캡쳐가 제대로 되질 않습니다.
그래서 원인을 알지 않는 이상 후킹 방식도 적용못한다고 보면되고...
말씀하신 SetBitmapToClipboard는 클립보드로 복사한 이미지 데이터를 불러와서 비트맵형식으로 변경하는 함수로
이를 이용해 비활성을 만들 순 있지만, 클립보드가 겹치는 문제 등 안정성이 떨어집니다. 추천하지 않습니다.
그냥 ADB 쓰셔야할겁니다