Объект ShellWindows
Объект ShellWindows представляет коллекцию открытых окон оболочки (Shell).Сюда входят как открытые окна проводника (Application Microsoft Internet Explorer), так и открытые окна Internet Explorer (Application Windows Internet Explorer).
К первому случаю относятся не только открытые окна проводника в файловой системе, но и специальные возможности (Панель управления, Мой компьютер...).
Во втором случае в список попадут закладки открытых окон браузера Internet Explorer.
Объект ShellWindows. Создание объекта.
Set objShellApp = CreateObject("Shell.Application")
Set objShellWindows = objShellApp.Windows()
Объект ShellWindows. Свойства.
Свойство | Описание |
---|---|
Count | Количество элементов коллекции. |
Объект ShellWindows. Свойство Count.
Возвращает количество элементов коллекции.Только чтение.
Метод | Описание |
---|---|
item | Получение объекта InternetExplorer. Возвращает объект InternetExplorer. |
_NewEnum | Создает и возвращает новый объект ShellWindows. |
Объект ShellWindows. Метод _NewEnum.
Создает и возвращает новый объект ShellWindows, который является копией текущего ShellWindows.Параметров нет.
retVal = ShellWindows._NewEnum()
Объект ShellWindows. Метод item.
Получает InternetExplorer объект, представляющий окно оболочки. Синтаксис:item(<Index>)
<Index> - индекс элемента. Значение должно быть как и следовало ожидать не меньше нуля и меньше Count
Необязательный. При отсутствии параметра его значение по умолчанию ноль.
Объект InternetExplorer имеет ряд полезных свойств. Вот некоторые из них:
Свойство | Описание |
---|---|
LocationName | Получает путь или название ресурса, который в данный момент обрабатывается. |
LocationURL | Получает URL ресурса, который в данный момент обрабатывается. |
Application | Объект, запущенный в данном окне. |
Path | Путь к объекту, запущенному в данном окне. Может отсутствовать в более новых версиях. |
Set objShellApp = CreateObject("Shell.Application")
Set objShellWin = objShellApp.Windows
WScript.Echo "Окон Explorer'а всего - ", objShellWin.Count
For i=0 To objShellWin.Count-1
Set objShellItem= objShellWin.Item(i)
WScript.Echo "LocationName : ", objShellItem.LocationName, vbCrLf, _
"Path : ", objShellItem.Path, vbCrLf, _
"LocationURL: ", objShellItem.LocationURL, vbCrLf, _
"Application: ", objShellItem.Application
Next
Для тех, кто предпочитает JScript
var objShell = new ActiveXObject("Shell.Application");
var objShellWindows;
objShellWindows = objShell.Windows();
if (objShellWindows != null)
{
var objIE;
for( var i=0; i<objShellWindows.Count; i++)
{
objIE = objShellWindows.Item(i);
if (objIE != null)
WScript.Echo ("Path:\t\t"+objIE.path+"\n LocationName:\t"+
objIE.LocationName+"\n LocationURL:\t"+objIE.LocationURL);
}
}
Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуетс¤ регистраци¤).