İki pencereye sahip bir AIR uygulaması oluşturdum. Birincisi ana penceredir (kıvılcımlı Pencereli Uygulama), ikincisi ise bir bileşen (kıvılcım penceresi). Masaüstü ekranını Flex-Java Bridge Flerry ile yakalamak için Java kullanıyorum. İşte Pencereyi yakalama penceresinden atla
olan ekran yakalamak için kod şudur: - Ben ana esnek pencere yakalanabilir istemiyoruzHDC 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);
. Yakalanmaktan (saydam) atlanmalıdır.
Bu esnek projenin yapılandırması değiştirilerek mümkün mü?
Esnek ve javada yapılamazsa, hangi platformda yapılabilir?
[ 'SetWindowDisplayAffinity'] (https://msdn.microsoft.com/en-us/library/windows/desktop/dd375340.aspx)' (hWnd, WDA_MONITOR daha); – IInspectable
@iinspectable SetWindowDisplayAffinity, pencerenin yakalanmasını engellemez. Sadece pencerenin yakalanmasını engeller. Bu pencerenin yerine siyah ekran istemiyorum, pencerenin arka tarafının görüntülenmesini istiyorum. – Vishnu
Sorunuz, istediğiniz davranışı uzaktan belirlemediğinde bile, ne istediğinizi bilmek ister? Yorumunuzda sorulan şey genel olarak mümkün değil. – IInspectable