Tôi đã tạo một ứng dụng AIR có hai cửa sổ. Đầu tiên là cửa sổ chính (spark Windowed Application) và cửa sổ thứ hai là một thành phần (cửa sổ tia lửa). Tôi đang sử dụng Java để chụp màn hình Desktop với Flex-Java Bridge Flerry.Bỏ qua cửa sổ để bị bắt
Đây là đoạn mã để chụp màn hình đó là: -
HDC hdcWindow = User32.INSTANCE.GetDC(hWnd);
HDC hdcMemDC = GDI32.INSTANCE.CreateCompatibleDC(hdcWindow);
RECT bounds = new RECT();
User32Extra.INSTANCE.GetClientRect(hWnd, bounds);
int width = bounds.right;
int height = bounds.bottom ;
HBITMAP hBitmap = GDI32.INSTANCE.CreateCompatibleBitmap(hdcWindow, width, height);
HANDLE hOld = GDI32.INSTANCE.SelectObject(hdcMemDC, hBitmap);
GDI32Extra.INSTANCE.BitBlt(hdcMemDC, 0, 0, width, height, hdcWindow, 0, 0, WinGDIExtra.SRCCOPY);
Tôi không muốn cửa sổ flex chính để được chụp. Nó sẽ bị bỏ qua (trong suốt) khỏi bị bắt.
Có thể thay đổi cấu hình của dự án flex không?
Nếu nó không thể được thực hiện trong flex và java, trong nền tảng nào nó có thể được thực hiện?
[ 'SetWindowDisplayAffinity'] (https://msdn.microsoft.com/en-us/library/windows/desktop/dd375340.aspx)' (hWnd, WDA_MONITOR); ' – IInspectable
@iinspectable SetWindowDisplayAffinity không bỏ qua cửa sổ bị bắt. Nó sẽ chỉ bảo vệ cửa sổ khỏi bị bắt. Tôi không muốn màn hình màu đen ở vị trí của cửa sổ đó, tôi muốn cửa sổ mặt sau của nó được hiển thị. – Vishnu
Làm thế nào để ai đó biết được bạn muốn gì, khi câu hỏi của bạn thậm chí không chỉ định hành vi mong muốn từ xa? Những gì đã yêu cầu trong bình luận của bạn là - nói chung - không thể. – IInspectable