沒有求助於PInvoke的,有沒有在.net中的方式來找出窗口被打開?這與詢問在內存中運行什麼應用程序稍有不同。例如,Firefox可能正在運行,但可能不止一個窗口。基本上,我只想知道任務欄(和alt-tab
?)的相同信息。獲取當前窗口的列表,並給他們的重點之一,在.net
而且,一旦我有一個參考的一個窗口,是有什麼辦法可以編程獲得焦點?
有沒有辦法使用託管代碼來做到這一點?
沒有求助於PInvoke的,有沒有在.net中的方式來找出窗口被打開?這與詢問在內存中運行什麼應用程序稍有不同。例如,Firefox可能正在運行,但可能不止一個窗口。基本上,我只想知道任務欄(和alt-tab
?)的相同信息。獲取當前窗口的列表,並給他們的重點之一,在.net
而且,一旦我有一個參考的一個窗口,是有什麼辦法可以編程獲得焦點?
有沒有辦法使用託管代碼來做到這一點?
恐怕也沒有辦法,你可以不用的PInvoke。要關注某個窗口,您應該調用SetForegroundWindow函數,有關詳細信息,請參閱this文章。
你可以在.NET 3.5檢查新UI Automation東西。它應該掩蓋一大堆PInovke的東西,並且可以和web和WPF應用程序一起工作。
我還沒有使用它,所以我沒有更具體的地方,指引你,但它可能適合該法案。
看看這個LGPL項目。我知道它可以爲一個窗口設置前景。否則aku是正確的。它最需要一些pinvoke調用。
http://mwinapi.sourceforge.net/
如果您需要的PInvoke使用的信息:
我發現http://mwinapi.sourceforge.net爲我的IronRuby的應用程序非常有用。 – NoonKnight 2014-08-28 13:30:38