2017-11-22 17 views
3

MS Windows에서 하나 사용하여 창 핸들을 얻을 수 있습니다firemonkey MacOS 창 ID를 얻는 방법?

WindowHandleToPlatform(winhandle).wnd 

어떻게 하나가 맥 OS 창 "ID"를 얻을 않습니다 예를 들어

창 ID를 받아들이는 기능 :

CGWindowListCreateImage(
    CGRect screenBounds, 
    CGWindowListOption listOption, 
    CGWindowID windowID, // <------------------ here 
    CGWindowImageOption imageOption); 
+0

말 그대로, 창 ID를 _require_하지 않습니다. [참조] (https://developer.apple.com/documentation/coregraphics/1454852-cgwindowlistcreateimage)에는 _ "이미지에 포함 할 다른 창을 결정할 때 참조 점으로 사용할 창의 ID입니다. 참조 창을 필요로하지 않는 옵션 인 경우이 매개 변수는 kCGNullWindowID가 될 수 있습니다. "_ 해당 목록 내의 특정 창 ID에서 시작하는 창 목록에서 합성 이미지를 만드시겠습니까? – Victoria

+1

누군가가'WindowHandleToPlatform (h) .Wnd.windowNumber'가 맞는지 알고 싶으면 알려주세요. 그리고 대답으로 추가 될 수 있습니다. 그러나 이것이 옳은지 확실하지 않습니다. – Programmz

+0

@Victoria, 가능하지만 참조 창을 원한다면 어떻게 될까요? 어떻게 windowID를 얻을 것입니까, 아니면 무엇이 필요합니까? – Programmz

답변

4

WindowHandleToPlatform()은 주어진 TFmxHandle에 대해 TWinWindowHandle을 검색합니다. TWinWindowHandle은 (다른 것들 중에서) 창 HWND을 포함합니다. OSX에

WindowHandleToPlatform()는 윈도우의 NSWindow, NSView, NSTrackingAreaNSOpenGLView 객체를 포함하는 TMacWindowHandle를 검색합니다. 당신은 NSWindow.windowNumber 분야, 예로부터 CGWindowID를 얻을 수 있습니다 :

WindowHandleToPlatform(winhandle).Wnd.windowNumber 
+0

이 답변을 수락 할 수는 있지만 아직 테스트하지 못했습니다. (잘하면), 나는 대답을 받아들이도록이 페이지를 다시 방문 할 것이다. – Programmz