[wpf] WPF 창에 대한 핸들 찾기

Windows Forms에는 win1.Handle 속성이 있는데, 기억하면 주 창 핸들의 핸들을 반환합니까?

WPF 창 핸들을 얻는 동등한 방법이 있습니까?

온라인에서 다음 코드를 찾았습니다.

IntPtr windowHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle;

하지만 내 응용 프로그램에 여러 개의 창이 있기 때문에 도움이 될 것이라고 생각하지 않습니다.

감사!!



답변

글쎄, 전달하는 대신 Application.Current.MainWindow원하는 창에 대한 참조를 전달하십시오 new WindowInteropHelper(this).Handle.


답변

WindowsInteropHelper 클래스와 함께 창을 사용하십시오.

// ... Window myWindow = get your Window instance...
IntPtr windowHandle = new WindowInteropHelper(myWindow).Handle;

지금 당장은 항상 하나가있는 애플리케이션의 기본 창을 요청하고 있습니다. 그러나 System.Windows.Window에서 파생 된 Window 클래스 인 경우 모든 Window에서 이와 동일한 기술을 사용할 수 있습니다.


답변

당신이 사용할 수있는 :

Process.GetCurrentProcess().MainWindowHandle


답변

Window어떤 이유로 응용 프로그램의 모든 창 핸들을 원하는 경우 Application.Windows속성을 사용하여 모든 Windows를 가져온 다음 WindowInteropHandler이미 시연 한대로 해당 핸들을 가져 오는 데 사용할 수 있습니다.


답변