AFAIK, सरकारी एपीआई CoreGraphics के हिस्से के रूप CGWindow.h में पाया जा सकता:
/* Create an image containing a composite of the specified set of windows
contained within a rectangular area. The set of windows is specified
using options from `CGWindowListOption', along with an optional
additional window ID.
The windows list options are:
--- kCGWindowListOptionAll, kCGWindowListOptionOnScreenOnly: Use all
on-screen windows in this user session to construct the image. The
parameter `windowID' should be `kCGNullWindowID'.
--- kCGWindowListOptionOnScreenAboveWindow: Use all on-screen windows in
this user session above the window specified by `windowID', ordered from
front to back, to construct the image. To include the window specified by
`windowID', add the flag `kCGWindowListOptionIncludingWindow'.
--- kCGWindowListOptionOnScreenBelowWindow: Use all on-screen windows in
this user session below the window specified by `windowID', ordered from
front to back, to construct the image. To include the window specified by
`windowID', add the flag `kCGWindowListOptionIncludingWindow'.
--- kCGWindowListOptionIncludingWindow: Use only the window specified by
`windowID' to construct the image.
The parameter `screenBounds' specifies the rectangle in screen space
(origin at the upper-left; y-value increasing downward). Setting
`screenBounds' to `CGRectInfinite' will include all the windows on the
entire desktop. Setting `screenBounds' to `CGRectNull' will use the
bounding box of the specified windows as the screen space rectangle.
तोड़
/* The parameter `imageOptions' allows you to specify whether the window
frame ornamentation, such as a shadow or similar effect, should be
included or excluded in the bounds calculation when `CGRectNull' is
specified for the window bounds.
If no windows meet the specified criteria, or the windows can't be read,
then a transparent black image will be returned.
Any on-screen window with sharing type `kCGWindowSharingNone' will not
be included in the image.
This function returns NULL if the caller is not running within a Quartz
GUI session or the window server is disabled. */
CG_EXTERN CGImageRef CGWindowListCreateImage(CGRect screenBounds,
CGWindowListOption listOption, CGWindowID windowID,
CGWindowImageOption imageOption)
CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_NA);
/* Create an image containing a composite of the specified set of windows
contained within a rectangular area à la `CGWindowListCreateImage'. The
set of windows is specified by `windowArray', an array of window IDs. */
CG_EXTERN CGImageRef CGWindowListCreateImageFromArray(CGRect screenBounds,
CFArrayRef windowArray, CGWindowImageOption imageOption)
CG_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_NA);
क्षमा करें, एप्पल साइट पर प्रलेखन के लिए एक लिंक नहीं मिल सका। हालांकि, उनके पास Son of Grab में नमूना कोड प्रतीत होता है।
शानदार! ग्रैब नमूना का बेटा वही करता है जो मैं खोज रहा था। आप अपने निकनाम के योग्य हैं :-) – Frans