다음을 통해 공유


WindowInteropHelper.EnsureHandle 메서드

정의

HWND가 아직 만들어지지 않은 경우 창의 HWND를 만듭니다.

public:
 IntPtr EnsureHandle();
[System.Security.SecurityCritical]
public IntPtr EnsureHandle ();
public IntPtr EnsureHandle ();
[<System.Security.SecurityCritical>]
member this.EnsureHandle : unit -> nativeint
member this.EnsureHandle : unit -> nativeint
Public Function EnsureHandle () As IntPtr

반환

IntPtr

nativeint

HWND를 나타내는 IntPtr입니다.

특성

설명

관리되는 의 EnsureHandle 실제 표시에서 HWND(창 핸들) 만들기를 분리하려는 경우 메서드를 Window사용합니다. 이 기능은 창을 표시할 필요 없이 작업을 수행할 수 있는 자동화 클라이언트가 있는 경우에 유용합니다.

네이티브 창이 아직 만들어지지 않은 경우 이 메서드는 네이티브 창을 만들고, 속성을 설정하고 Handle , HWND를 반환합니다. 네이티브 창이 이미 만들어진 경우 기존 네이티브 창의 핸들이 반환됩니다.

이 메서드 SourceInitialized 를 호출한 결과로 네이티브 창이 만들어지면 이벤트가 발생합니다.

메서드를 호출한 HandleEnsureHandle 후 속성을 쿼리하면 기존 창 핸들이 반환됩니다. 시각적 트리는 메서드가 호출될 때까지 창에 Show 연결되지 않습니다.

메서드를 EnsureHandle 두 번 이상 호출해도 새 창 핸들이 만들어지지 않습니다. 메서드를 호출하여 EnsureHandle 핸들을 이미 만들었을 때 메서드를 Show 호출해도 새 창 핸들이 만들어지지 않습니다. 네이티브 창은 메서드를 호출할 때 EnsureHandle 핸들이 없는 경우에만 만들어집니다.

p/invoke를 통해 네이티브 창 API를 사용하여 설정된 창 속성은 관리되는 창 API에 표시되지 않을 수 있습니다. 예를 들어 메서드가 호출 Topmost 된 후 EnsureHandle 네이티브 MS_EX_TOPMOST 플래그를 사용하여 창을 맨 위로 설정하는 경우 속성이 네이티브 설정을 반영하도록 보장되지 않습니다.

적용 대상