2010-12-03 38 views
1

通過Windows API,我可以得到當前打開的所有窗口的列表,但似乎IntPtr不以任何特定順序返回。我想知道是否有辦法按照打開它們的順序來打開窗戶。例如,如果我打開2個IE窗口,然後是記事本窗口,當我檢索窗口列表時,我希望2個IE窗口位於記事本窗口之前。我在C#中這樣做。確定打開的窗口的順序

+0

你用什麼API調用返回Windows列表? – KevenK 2010-12-03 18:51:44

+0

EnumDesktopWindows – 2010-12-03 18:56:15

回答

3

句柄值是混淆指針,你不能依賴它們的值。他們得到回收。

長距離拍攝是GetWindowThreadProcessId()來獲取擁有該窗口的線程的ID。 OpenThread()獲取它的句柄。 GetThreadTimes()在線程創建時找出它。 CloseHandle()清理。但結果卻只是一種猜測,確實避免想問這樣一個問題。訪問pinvoke.net進行聲明。