mirror of
https://github.com/go-vgo/robotgo.git
synced 2025-06-01 14:43:55 +00:00
Update widows ReleaseDC code
This commit is contained in:
parent
e755317599
commit
60bf136aa1
@ -85,10 +85,12 @@ MMBitmapRef copyMMBitmapFromDisplayInRect(MMRectInt32 rect, int32_t display_id)
|
|||||||
bi.bmiHeader.biClrUsed = 0;
|
bi.bmiHeader.biClrUsed = 0;
|
||||||
bi.bmiHeader.biClrImportant = 0;
|
bi.bmiHeader.biClrImportant = 0;
|
||||||
|
|
||||||
|
HWND hwnd;
|
||||||
if (display_id == -1) {
|
if (display_id == -1) {
|
||||||
screen = GetDC(NULL); /* Get entire screen */
|
screen = GetDC(NULL); /* Get entire screen */
|
||||||
} else {
|
} else {
|
||||||
screen = GetDC((HWND) (uintptr) display_id);
|
hwnd = (HWND) (uintptr) display_id;
|
||||||
|
screen = GetDC(hwnd);
|
||||||
}
|
}
|
||||||
if (screen == NULL) { return NULL; }
|
if (screen == NULL) { return NULL; }
|
||||||
|
|
||||||
@ -101,7 +103,7 @@ MMBitmapRef copyMMBitmapFromDisplayInRect(MMRectInt32 rect, int32_t display_id)
|
|||||||
screen, rect.origin.x, rect.origin.y, SRCCOPY);
|
screen, rect.origin.x, rect.origin.y, SRCCOPY);
|
||||||
if (smem || SelectObject(screenMem, dib) == NULL || !bitb) {
|
if (smem || SelectObject(screenMem, dib) == NULL || !bitb) {
|
||||||
/* Error copying data. */
|
/* Error copying data. */
|
||||||
ReleaseDC(NULL, screen);
|
ReleaseDC(hwnd, screen);
|
||||||
DeleteObject(dib);
|
DeleteObject(dib);
|
||||||
if (screenMem != NULL) { DeleteDC(screenMem); }
|
if (screenMem != NULL) { DeleteDC(screenMem); }
|
||||||
|
|
||||||
@ -117,7 +119,7 @@ MMBitmapRef copyMMBitmapFromDisplayInRect(MMRectInt32 rect, int32_t display_id)
|
|||||||
memcpy(bitmap->imageBuffer, data, bitmap->bytewidth * bitmap->height);
|
memcpy(bitmap->imageBuffer, data, bitmap->bytewidth * bitmap->height);
|
||||||
}
|
}
|
||||||
|
|
||||||
ReleaseDC(NULL, screen);
|
ReleaseDC(hwnd, screen);
|
||||||
DeleteObject(dib);
|
DeleteObject(dib);
|
||||||
DeleteDC(screenMem);
|
DeleteDC(screenMem);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user