Show Desktop выполняет два действия: либо сворачивание открытых окон, либо повторное открытие тех, которые не были свернуты. Есть ли способ узнать (предпочтительно через скрипт), в каком состоянии он находится - скрытые или показанные открытые окна и, следовательно, какое действие он предпримет, когда вы нажмете кнопку?
1 ответ
Я предполагаю, что вы имеете в виду маленький квадрат с правой стороны панели задач рядом с системным треем.
Этот значок на самом деле не сворачивает окна. Для операционной системы рабочий стол - это обычное окно, которое не имеет границ или элементов управления. Единственное, что в этом особенного, это то, что он всегда находится внизу Z-порядка. Щелчок по этому квадрату временно поднимает его до вершины Z-порядка (делая его покрывающим любые открытые окна), но он не минимизирует существующие открытые окна. Он также мгновенно вернется к низу Z-порядка, когда другое окно снова станет в фокусе.
В вашей программе вы можете получить дескриптор окна рабочего стола и проверить положение Z-порядка. Это должно быть единственное окно с отрицательным числом (если память не изменяет). Есть вызовы Windows API, которые могут получить эту информацию для вас. Насколько язык сценариев мог это сделать, я не мог сказать. Я знаю, что AutoIT и KiXtart имеют функции, которые могут следить за идентификаторами элементов управления окна, но я не знаю, могли бы они получить эту информацию из окна рабочего стола.