2010-10-29 45 views

回答

1

您必須使用P/Invoke。不幸的是,沒有標準的方法來確定一個窗口是否會出現在任務欄(或alt + tab)中:你只能猜測。

這裏有一個很老的例子在VB:http://www.thescarms.com/VBasic/alttab.aspx

而在OnTopReplica,我實現它以類似的方式。您可以查看source code(查看OnTopReplica/WindowSeekers/TaskWindowSeeker.cs)。

0

一般情況下,沒有P/Invoke - no。但是,如果您只關心.NET過程中的受管理的Windows窗體窗口,則可以循環使用Application.OpenForms並檢查屬性,尤其是Form.ShowInTaskbar。對於WPF,它是Application.Windows

+0

我想重複任務欄項目。到目前爲止,使用p/invoke,我在猜測時是準確的,但這只是猜測。例如,計算器不是應用程序窗口。即使它顯示在任務欄中,我也必須明確檢查字符串「計算器」,這是不好的代碼。我希望有一種方法可以肯定地知道,但我找不到它。 – 2010-10-30 03:49:24

相關問題