Плитка настольных окон в строках и столбцах в C#

Пример Список окон рабочего стола на C# показывает, как перечислить в настоящее время работает Windows. В этом примере этот метод используется для заполнения ListBox заголовками этих окон рабочего стола. (См. Предыдущий пример, чтобы увидеть, как работает эта часть.) Если вы выберете некоторые из них и нажмите «Упорядочить», этот пример упорядочивает их по строкам и столбцам на экране.

Программа хранит информацию о каждом рабочем окне в следующей структуре WindowInfo.

Эта структура просто хранит дескриптор рабочего стола и заголовок. Структура переопределяет метод ToString, чтобы вернуть заголовок, чтобы ListBox отображал заголовок.

Следующий код показывает, как программа упорядочивает окна рабочего стола.

Этот код сначала получает рабочую область экрана - область, не включающая панель задач. Затем он делит ширину и высоту экрана на нужное количество столбцов и строк, чтобы увидеть, насколько большой он должен сделать каждое окно.

Затем программа проходит через строки и столбцы. В каждой внутренней итерации он получает структуру WindowInfo следующего элемента. Он вызывает функцию API SetWindowPlacement для восстановления окна (поэтому он не максимизирован или не минимизирован), передавая функцию дескриптору окна. Затем код позиционирует окно в следующем (x, y) значении и устанавливает его размер.

Источник: http://csharphelper.com/blog/2016/12/tile-desktop-windows-in-rows-and-columns-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *