Определение порядка открытия окон - PullRequest
1 голос
/ 03 декабря 2010

Через Windows API я могу получить список всех окон, которые в данный момент открыты, но кажется, что IntPtr не возвращается в каком-либо определенном порядке. Мне было интересно, есть ли способ привести окна в порядок, в котором они были открыты. Например, если я открываю 2 окна IE, а затем окно блокнота, при получении списка окон я бы хотел, чтобы 2 окна IE были перед окном блокнота. Я делаю это в C #.

1 Ответ

3 голосов
/ 03 декабря 2010

Значения дескрипторов - это запутанные указатели, вы не можете полностью полагаться на их значения. И они перерабатываются.

Снимок с большого расстояния - GetWindowThreadProcessId (), чтобы получить идентификатор потока, которому принадлежит окно. OpenThread (), чтобы получить ручку к нему. GetThreadTimes (), чтобы узнать, когда был создан этот поток. CloseHandle () для очистки. Результат, однако, только приблизительный, избегайте желания задавать такой вопрос. Посетите pinvoke.net для объявлений.

...