3
A
回答
5
使用HwndSource
。
http://msdn.microsoft.com/en-us/library/system.windows.interop.hwndsource.fromhwnd.aspx
如下:
IntPtr hwnd = GetActivewWindow();
HwndSource hwndsrc = HwndSource.FromHwnd(hwnd);
// Use any variation on this code
if (hwndsrc != null && hwndsrc.RootVisual != null)
{
Window window = hwndsrc.RootVisual as Window;
if (window != null)
{
window.Close();
}
// UPDATE: I've added looking for a "Popup" window as well
// because your question mentions "pop up window"...but
// not sure if you meant a top-level Window, or a Popup...
// ....Popup windows have HWND too!
Popup popupwindow = hwndsrc.RootVisual as Popup;
if (popupwindow != null)
{
popupwindow.IsOpen = false;
}
}
相關問題
- 1. 如何確定OpenGL窗口是否爲活動窗口?
- 2. 爲WPF窗口
- 3. 確定何時移動WPF窗口
- 4. 確定窗口是否聚焦/活動/前景
- 5. 確定webkit中的窗口是否處於活動狀態
- 6. 確定按鈕/窗口是否處於活動狀態winforms C#
- 7. 自動定位窗口 - WPF
- 8. 從窗口中拖動窗口WPF
- 9. xlib是否有活動窗口事件?
- 10. WPF關閉除活動的子窗口和主窗口
- 11. 哪個窗口是活動
- 12. wpf窗口未激活
- 13. WPF滑動窗口
- 14. wpf動態窗口
- 15. 啓動窗口 - WPF
- 16. 確定窗口關閉發送方在WPF窗口
- 17. 如何確定窗口是否配置
- 18. 確定窗口是否由window.showModalDialog打開?
- 19. 請參閱WPF中的活動窗口?
- 20. 如何確定WPF窗口是否打開?
- 21. 當用戶移動窗口時,PushFrame鎖定WPF窗口
- 22. 確定子窗口是由用戶移動還是由於父窗口移動?
- 23. 確定誰關注WPF窗口
- 24. 如何在前臺投影我的窗口爲活動窗口
- 25. 使matplotlib繪圖窗口作爲活動窗口彈出
- 26. 如何根據QProcess將窗口設置爲活動窗口?
- 27. 將下一個窗口設置爲活動窗口(ALT + TAB)
- 28. WPF窗口IsFocused
- 29. WPF容器窗口/子窗口。可能?
- 30. 主窗口中的WPF窗口
如何代碼確保它是一個WPF窗口和窗口不對應於一種形式? – Maanu
它不會對應於Windows窗體...因爲HwndSource只會返回與連接到某些WPF視覺圖像的HWND有關的內容。在示例中,我展示了檢查RootVisual是否爲WPF窗口,因爲這是您要檢查的內容。 –