How do I find a window at a certain point on the screen for screenshot/screen-recording purposes?

前端 未结 2 1867
臣服心动
臣服心动 2021-01-14 21:05

I\'m looking for a way to do what the equivalent of WindowFromPoint and GetWindowRect do, in Carbon/Cocoa and X11.

WindowFromPoint - http://msdn.microsoft.com/en-us/

相关标签:
2条回答
  • 2021-01-14 22:04

    I am developing screenshot and screen recording apps …

    Use Quartz Window Services.

    I want to … determine the bounding rectangle of the window, and then use the coordinates of the window to capture a bitmap of that area of the screen …

    Definitely use Quartz Window Services.

    Incidentally, one of its features is that you can capture a window in isolation, without anything that may be in front of it or behind it. You don't need to get its rectangle when doing this.

    … and save it to a file …

    Use CGImageDestination.

    … or encode it into a video stream.

    That part I'm not sure about. The sample code on the matter (which, as its name says, uses OpenGL for the actual capturing) uses the 32-bit-only QuickTime C API, not the 64-bit-compatible QuickTime Kit, to write the movie.

    0 讨论(0)
  • 2021-01-14 22:06

    To answer the X11 portion of this question: You can use XQueryPointer's child_return for similar functionality to WindowFromPont. XGetGeometry should get you the GetWindowRect information.

    0 讨论(0)
提交回复
热议问题