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
이미 시연 한대로 해당 핸들을 가져 오는 데 사용할 수 있습니다.