Объект Shell
Объект Shell. Создание объекта.
Set objShell = CreateObject("Shell.Application")
Объект Shell. Свойства.
Свойство | Описание |
---|---|
Application | Возвращает объект IShellDispatch для текущего приложения. |
Parent | Возвращает объект IShellDispatch для родительского приложения |
Объект Shell. Свойство Application.
Возвращает объект IShellDispatch для текущего приложения.Только чтение.
objApplication = Shell.Application
Объект Shell. Свойство Parent.
Возвращает объект IShellDispatch для родительского приложения если такое имеется.Только чтение.
Set objShellApp = CreateObject("Shell.Application")
If objShellApp.Parent.GetSetting(1) = 0 Then
MsgBox "Не показывать скрытые файлы и папки", vbInformation
Else
MsgBox "Показывать скрытые файлы и папки", vbInformation
End If
Объект Shell. Методы.
Метод | Описание |
---|---|
AddToRecent | Помещает ярлык на указанный файл в папку "Недавних документов". |
BrowseForFolder | Вызов модального окна "Выбор папки". |
CanStartStopService | Определяет может ли текущий пользователь запустить/остановить указанный сервис. |
CascadeWindows | Выполняет расположение всех несвёрнутых окон рабочего стола Windows каскадом |
ControlPanelItem | Вызов конкретного приложения панели управления. |
EjectPC | Извлечение компьютера от док-станции. |
Explore | Запускает проводник Windows с определённой открытой папкой. |
ExplorerPolicy | Возвращает значение указанной Internet Explorer policy |
FileRun | Вызов окна "Запуск программы" |
FindComputer | Вызов окна проводника Windows "Результаты поиска - компьютеры" |
FindFiles | Вызов окна проводника Windows "Результаты поиска" |
FindPrinter | Вызов окна "Поиск принтеров" ("Find Printers") в Active Directory |
GetSetting | Возвращает значение указанной глобальной установки (параметра) проводника |
GetSystemInformation | Возвращает некоторую системную информацию |
Help | Вызов окна справки Windows. |
IsRestricted | ВВозвращает значение заданного ограничения по данным реестра |
IsServiceRunning | Определяет, запущен ли указанный сервис. |
MinimizeAll | Сворачивает все окна рабочего стола Windows. |
NameSpace | Получение объекта виртуальной папки проводника |
Open | Запускает проводник Windows с определённой открытой папкой. |
SearchCommand | Отображает панель службы поиска. |
ServiceStart | Запускает указанный сервис. |
ServiceStop | Останавливает указанный сервис. |
SetTime | Вызов окна настройки времени и даты. |
ShellExecute | Выполняет указанное действие над заданным файлом. |
ShowBrowserBar | Открывает или закрывает указанную панель обозревателя. |
ShutdownWindows | Вызов окна выключения и перезагрузки компьютера. . |
TileHorizontally | Упорядочивает окна рабочего стола Windows по горизонтали. |
TileVertically | Упорядочивает окна рабочего стола Windows по вертикали |
ToggleDesktop | Сворачивает или разворачивает все окна на рабочем столе. |
TrayProperties | Вызов окна свойств панели задач Windows. |
UndoMinimizeAll | Восстанавливает всех свёрнутые окна рабочего стола Windows |
Windows | Получение объекта "ShellWindows". |
WindowsSecurity | Имитирует нажатие CTRL+ALT+DELETE. |
Объект Shell. Метод AddToRecent.
Помещает ярлык на указанный файл в папку "Недавних документов" ("Recent") текущего пользователя.Синтаксис:
AddToRecent(<File>, <Category>)
<File> - строка. Путь к файлу.
<Category> - строка (необязательный). Имя категории, в которую помещается файл.
Set objShell = CreateObject("Shell.Application")
objShell.AddToRecent "C:\readme.txt"
Объект Shell. Метод BrowseForFolder.
Вызов модального окна "Выбор папки". Возвращает объект "Folder".Синтаксис:
BrowseForFolder(<Hwnd>, <Заголовок>, <Опции>, <КорневаяПапка>)
<Hwnd> - дескриптор родительского окна. Тип - целое число. 0 - текущее окно
<Заголовок> - пояснение для пользователя в окне "Выбор папки". Тип - строка.
<Опции> - целое число (комбинация битовых флагов).
Например, флаг 512 - запретить кнопку "Создать папку",
1 - не отображать Корзину,
2 - не включать сетевые папки,
16 - отображать EditBox для ввода полного пути с клавиатуры и т.п.
Некоторые константы можно комбинировать, например 512+16.
<КорневаяПапка> - необязательный параметр. Корневая папка в окне "Выбор папки". Тип - строка.
Это определяет папку, внутри которой возможно сделать выбор. Пользователь не сможет пройти в окне "Выбор папки" выше этой папки. Если параметр не указан, корневой папкой будет рабочий стол Windows.
КорневаяПапка может быть числом, определяющим одну из специальных папок Windows. Коды папок представлены на странице SpecialFolderConstants.
Dim objShell,objFolder
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, _
"Диалог выбора папки.", 512, "D:\")
If (Not objFolder Is Nothing) Then
Wscript.Echo objFolder.Self.Path
else
Wscript.Echo "Не выбрана папка"
End If
Объект Shell. Метод CanStartStopService.
Определяет, достаточно ли полномочий у текущего пользователя что бы запустить/остановить указанный сервис.Синтаксис:
CanStartStopService(<ServiceName>)
<ServiceName> - строка, имя сервиса.
Возвращаемое значение - булево (число).
Set objShell = CreateObject("Shell.Application")
ServiceName = "tlntsvr"
If objShell.CanStartStopService(ServiceName) Then
MsgBox "Вы можете запустить/остановить сервис " & ServiceName
End If
Объект Shell. Метод CascadeWindows.
Упорядочение окон рабочего стола Windows каскадом.Возвращаемого значения нет.
Параметров нет.
Set objShellApp = CreateObject("Shell.Application")
objShellApp.CascadeWindows
Объект Shell. Метод ControlPanelItem.
Вызов конкретного приложения панели управления.Синтаксис:
ControlPanelItem(<ИмяФайла>)
<ИмяФайла> - имя файла конкретного приложения панели управления. Тип - строка. Пустая строка вызывает саму панель управления.
Все файлы приложений панели управления имеют расширение .cpl. Некоторые приложения панели управления:
- access.cpl - специальные возможности.
- appwiz.cpl - установка и удаление программ.
- desk.cpl - настройка экрана.
- hdwwiz.cpl - мастер установки оборудования.
- inetcpl.cpl - свойства обозревателя.
- intl.cpl - язык и региональные стандарты.
- joy.cpl - игровые устройства.
- main.cpl - мышь.
- mmsys.cpl - звуки и аудиоустройства.
- ncpa.cpl - сетевые подключения.
- nusrmgr.cpl - учётные записи пользователей.
- odbccp32.cpl - настройка источников данных ODBC.
- powercfg.cpl - управление электропитанием.
- sysdm.cpl - свойства системы.
- telephon.cpl - телефон и модем.
- timedate.cpl - настройки времени и даты
Set objShellApp = CreateObject("Shell.Application")
objShellApp.ControlPanelItem "desk.cpl"
objShellApp.ControlPanelItem ""
Объект Shell. Метод EjectPC.
Извлекает компьютер от док-станции.Возвращаемого значения нет.
Параметров нет.
Это так же, как, в меню Пуск и выбрать Извлечь компьютер, если ваш компьютер поддерживает эту команду.
var objShell = new ActiveXObject("shell.application");
objShell.EjectPC();
Объект Shell. Метод Explore.
Запуск проводника Windows с определённой открытой папкойСинтаксис:
Explore(<Path>):
Параметры:
<Path> - путь к открываемой папке. Тип - строка.
<Path> может быть числом, определяющим одну из специальных папок Windows. Коды папок представлены на странице SpecialFolderConstants.
Set objShellApp = CreateObject("Shell.Application")
objShellApp.Explore("C:\")
objShellApp.Open("C:\") 'для сравнения
Объект Shell. Метод ExplorerPolicy.
Возвращает значение указанной Internet Explorer policy.Синтаксис:
ExplorerPolicy(<PolicyName>)
<PolicyName> - строка. Имя Internet Explorer policy.
Указанное имя должно быть в ветке
HKEY_CURRENT_USER\Software
\Microsoft\Windows
\CurrentVersion\Policies\Explorer
Если такого имени там нет, то метод возвращает NULL.
var objShell = new ActiveXObject("shell.application");
var vReturn;
vReturn = objShell.ExplorerPolicy("NoDriveTypeAutoRun");
WScript.Echo (vReturn);
Объект Shell. Метод FileRun.
Вызов окна "Запуск программы" ("Run").Возвращаемого значения нет.
Параметров нет
Синтаксис:
FileRun
Вызов метода приводит к тому же эффекту, что и команда меню "Пуск"-"Выполнить" ("Start"-"Run").
Set objShellApp = CreateObject("Shell.Application")
objShellApp.FileRun
Объект Shell. Метод FindComputer.
Вызов окна проводника Windows "Результаты поиска - компьютеры" ("Search Results - Computers").Возвращаемого значения нет.
Параметров нет.
Set objShellApp = CreateObject("Shell.Application")
objShellApp.FindComputer
Объект Shell. Метод FindFiles.
Вызов окна проводника Windows "Результаты поиска" ("Find: All Files").Возвращаемого значения нет.
Параметров нет.
Вызов метода приводит к тому же эффекту, что и команда меню "Пуск"-"Поиск" ("Start"-"Find").
Set objShellApp = CreateObject("Shell.Application")
objShellApp.FindFiles
Объект Shell. Метод FindPrinter.
Вызов окна "Поиск принтеров" ("Find Printers") в Active Directory с предварительным заполнением параметров поискаСинтаксис:
FindPrinter(<Name>,<Location>,<Model>)
<Name> - необязательный. Строка - имя принтера.
<Location> - необязательный. Строка - местоположение принтера.
<Model> - необязательный. Строка - модель принтера.
Возвращаемого значения нет.
Вызов метода приводит примерно к тому же эффекту, что и команда меню "Пуск"-"Поиск"-"Принтеры..."
Set objShellApp = CreateObject("Shell.Application")
objShellApp.FindPrinter "Name", "Location", "Model"
Объект Shell. Метод GetSetting.
Возвращает значение указанной глобальной установки (параметра) проводника.Синтаксис:
GetSetting(<Setting>)
<Setting> - целое число определяющее глобальную установку проводника.
Код | Описание |
---|---|
SSF_SHOWALLOBJECTS (0x00000001) | Показывать скрытые файлы и папки |
SSF_SHOWEXTENSIONS (0x00000002) | Скрывать расширения для зарегистрированных типов файлов |
SSF_HIDEICONS (0x00004000) | Состояние пиктограмм в списке просмотра Проводника Windows |
SSF_DOUBLECLICKINWEBVIEW (0x00000080) |
Открыть двойным или одиночным щелчком мыши |
SSF_NOCONFIRMRECYCLE (0x00008000) |
Подтверждение очистки корзины |
SSF_SHOWSUPERHIDDEN (0x00040000) |
Состояние скрывать защищенные файлы операционной системы. |
Более подробно с этим материалом можно ознакомиться на сайте MSDN
var objShell = new ActiveXObject("shell.application");
var vReturn;
var ssfSHOWALLOBJECTS = 1;
vReturn = objShell.GetSetting(ssfSHOWALLOBJECTS);
WScript.Echo (vReturn);
Объект Shell. Метод GetSystemInformation.
Возвращает некоторую системную информацию.Синтаксис:
GetSystemInformation(<Name>)
<Name> - строка, определяет тип запрашиваемой информации.
Возвращаемое значение - зависит от типа запрашиваемой информации.
Этот метод может быть использован для запроса различной информации.
Тип информации | Описание |
---|---|
DirectoryServiceAvailable Boolean |
Возвращает true если служба каталогов имеется |
ProcessorLevel Integer |
Windows Vista и выше. Уровень процессора. Возвращает 3, 4 или 5, для X386, x486 и процессоров Pentium-уровня, соответственно. |
ProcessorSpeed Integer |
Скорость процессора, в мегагерцах (МГц). |
ProcessorArchitecture Integer |
Архитектура процессора. |
PhysicalMemoryInstalled Integer |
Количество установленной физической памяти, в байтах. |
IsOS_Professional Boolean |
Только для Windows XP. Возвращает true если операционная система Windows XP Professional Edition |
IsOS_Personal Boolean |
Только для Windows XP. Возвращает true если операционная система Windows XP Home Edition |
Архитектура процессора - возможные значения.
Значение | Описание |
---|---|
PROCESSOR_ARCHITECTURE_AMD64 9 | x64 (AMD or Intel) |
PROCESSOR_ARCHITECTURE_IA64 6 | На основе Intel Itanium |
PROCESSOR_ARCHITECTURE_INTEL 0 | x86 |
PROCESSOR_ARCHITECTURE_UNKNOWN 0xffff | Неизвестный архитектура |
Set objShellApp = CreateObject("Shell.Application")
MsgBox "IsOS_DomainMember = " _
& objShellApp.GetSystemInformation("IsOS_DomainMember")
MsgBox "ProcessorArchitecture = " _
& objShellApp.GetSystemInformation("ProcessorArchitecture")
MsgBox "PhysicalMemoryInstalled = " _
& objShellApp.GetSystemInformation("PhysicalMemoryInstalled")
Объект Shell. Метод Help.
Вызов справки Windows.Синтаксис:
Help
Возвращаемого значения нет.
Параметров нет.
Вызов метода приводит к тому же эффекту, что и команда меню "Пуск"-"Справка и поддержка" ("Start"-"Help and Support").
Set objShellApp = CreateObject("Shell.Application")
objShellApp.Help
Объект Shell. Метод IsRestricted.
Возвращает значение заданного ограничения по данным реестра.Синтаксис:
IsRestricted(<Group>, <Restriction>)
<Group> - строка, которая содержит имя раздела реестра, где производится поиск ограничений.
<Restriction> - строка, которая содержит имя параметра раздела реестра, где производится поиск ограничений.
Возвращаемое значение - Integer.
IsRestricted сначала ищет названия раздела, который соответствует sGroup в следующем разделе:
HKEY_LOCAL_MACHINE
Software
Microsoft
Windows
CurrentVersion
Policies
Если Restriction находится в подразделе с именем <Group>, IsRestricted возвращает текущее значение ограничение. Если ограничение не найдено в разделе HKEY_LOCAL_MACHINE, то том же подразделе проверяется в разделе HKEY_CURRENT_USER.
Set objShell = CreateObject("Shell.Application")
lReturn = objShell.IsRestricted("system", "undockwithoutlogon")
MsgBox "undockwithoutlogon = " & lReturn
Объект Shell. Метод IsServiceRunning.
Определяет, запущен ли указанный сервис.Синтаксис:
IsServiceRunning(<ServiceName>)
<ServiceName> - строка, имя сервиса.
Возвращаемое значение - булево (число).
Set objShell = CreateObject("Shell.Application")
ServiceName = "Dnscache"
If objShell.IsServiceRunning(ServiceName) Then
MsgBox "Сервис " & ServiceName & " запущен!"
Else
MsgBox "Сервис " & ServiceName & " НЕ запущен!"
End If
Объект Shell. Метод MinimizeAll.
Сворачивание всех окон рабочего стола Windows.Возвращаемого значения нет.
Параметров нет.
Вызов метода приводит к тому же эффекту, что и команда "Показать рабочий стол" ("Minimize All Windows") контекстного меню панели задач Windows или щелчок по значку "Свернуть все окна" ("Show Desktop") на панели "Быстрый запуск".
Set objShellApp = CreateObject("Shell.Application")
objShellApp.MinimizeAll
Объект Shell. Метод NameSpace.
Получение объекта виртуальной папки проводника. Возвращает объект "Folder".Синтаксис:
NameSpace(<Path>)
где <Path> -путь к папке или диску. Тип - строка.
<Path> может быть числом, определяющим одну из специальных папок Windows. Коды папок представлены на странице SpecialFolderConstants.
var objShell = new ActiveXObject("shell.application");
var objFolder;
var ssfWINDOWS = 36
objFolder = objShell.NameSpace(ssfWINDOWS);
if (objFolder != null)
{
WScript.Echo (objFolder.Title);
}
Объект Shell. Метод Open.
Запуск проводника Windows с определённой открытой папкойСинтаксис:
Open(<Path>)
Параметры:
<Path> - путь к открываемой папке. Тип - строка.
<Path> может быть числом, определяющим одну из специальных папок Windows. Коды папок представлены на странице SpecialFolderConstants.
Set objShellApp = CreateObject("Shell.Application")
objShellApp.Explore("C:\")
objShellApp.Open("C:\") 'для сравнения
Объект Shell. Метод SearchCommand .
Отображает панель службы поиска.Синтаксис:
SearchCommand
Параметров нет.
Этот метод не возвращает значение.
Set objShellApp = CreateObject("Shell.Application")
objShellApp.SearchCommand
Объект Shell. Метод ServiceStart.
Запускает указанный сервис.Синтаксис:
ServiceStart(<ServiceName>, <Persistent>)
<ServiceName> - строка, имя сервиса.
<Persistent> - булево (число). Определяет, должен ли сервис автоматически стартовать при старте системы. Если указана ложь, конфигурация сервиса не меняется.
Возвращаемое значение - булево (число). Определяет успешно ли запущен сервис.
Set objShell = CreateObject("Shell.Application")
ServiceName = "Dnscache"
If objShell.ServiceStart(ServiceName) Then
MsgBox "Сервис " & ServiceName & " стартовал успешно!"
Else
MsgBox "Сервис " & ServiceName & " запустить не удалось!"
End If
Объект Shell. Метод ServiceStop.
Останавливает указанный сервис.Синтаксис:
ServiceStop(<ServiceName>, <Persistent>)
<ServiceName> - строка, имя сервиса.
<Persistent> - булево (число). Определяет, должен ли сервис автоматически стартовать при старте системы. Если указана ложь, конфигурация сервиса не меняется.
Возвращаемое значение - булево (число). Определяет успешно ли остановлен сервис.
Set objShell = CreateObject("Shell.Application")
ServiceName = "Dnscache"
If objShell.ServiceStop(ServiceName) Then
MsgBox "Сервис " & ServiceName & " остановлен успешно!"
Else
MsgBox "Сервис " & ServiceName & " остановить не удалось!"
End If
Объект Shell. Метод SetTime.
Вызов окна настройки времени и даты.Синтаксис:
SetTime
Возвращаемого значения нет.
Параметров нет.
Вызов метода приводит к тому же эффекту, что и двойной щелчок по часам в правой части панели задач Windows
Set objShellApp = CreateObject("Shell.Application")
objShellApp.SetTime
Объект Shell. Метод ShellExecute.
Выполняет указанное действие над заданным файлом.Возвращаемого значения нет.
Синтаксис:
ShellExecute(<File>, <Arguments>, <Directory> , <Operation>, <Show>)
<File> - строка. Имя файла.
<Arguments> - строка (необязательный). Параметры для <Operation>.
<Directory>строка (необязательный). Путь к каталогу с указанным файлом. Если не указан, используется текущий каталог.
<Operation>строка (необязательный). Действие ("глагол"), которое необходимо выполнить. Если не указан, используется действие по умолчанию.
<Show> число (необязательный). Рекомендуемое состояние окна при выполнении. Запускаемое приложение может проигнорировать этот параметр.
Параметр <Operation> может принимать следующие значения:
Значение | Описание |
---|---|
edit | Запускает редактор и открывает документ для редактирования |
find | Инициирует поиск, начиная с указанной директории |
open | Запуск приложения. Если этот файл не исполняемый файл, то запускается связанное с ним приложение. |
Печать файла. | |
properties | Отображение свойств объекта |
Параметр <Show> может принимать следующие значения:
Код | Описание |
---|---|
0 | Открыть приложение в скрытым окне |
1 | Открыть приложение в нормальном окне. Если окно свернуто или развернуто, система восстанавливает его исходный размер и положение. |
2 | Открыть приложение в свернутом окне |
3 | Открыть приложение в развернутом окне |
4 | Открыть приложение в окне с его последним размером и позицией |
5 | Открыть приложение в окне с его текущем размером и позицией |
7 | Открыть приложение в свернутом окне. Активное окно остается активным |
10 | Открыть приложение в окне по умолчанию для приложения. |
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "notepad.exe", "", "", "open", 1
Объект Shell. Метод ShowBrowserBar.
Открывает или закрывает указанную панель обозревателя.Возвращает true в случае успеха, и false в случае неудачи..
Синтаксис:
ShowBrowserBar(<CLSID>, <Show>)
<CLSID> - строка. Идентификатор класса (CLSID) панели обозревателя.
<Show> - булево. True - показать, false - спрятать панель.
Возвращаемое значение - булево (число). Определяет успешно ли остановлен сервис.
Некоторые возможные значения <CLSID>:
- Favorites - {EFA24E61-B078-11d0-89E4-00C04FC9E26E}
- Folders - {EFA24E64-B078-11d0-89E4-00C04FC9E26E}
- History - {EFA24E62-B078-11d0-89E4-00C04FC9E26E}
- Search - {30D02401-6A81-11d0-8274-00C04FD5AE38}
Метод доступен только в контексте HTML-документа!.
Объект Shell. Метод ShutdownWindows.
Вызов окна выключения и перезагрузки компьютера.Синтаксис:
ShutdownWindows
Возвращаемого значения нет.
Параметров нет.
Вызов метода приводит к тому же эффекту, что и команда меню "Пуск"-"Завершение работы" ("Start"-"Shut Down").
Set objShellApp = CreateObject("Shell.Application")
objShellApp.ShutdownWindows
Объект Shell. Метод TileHorizontally.
Упорядочение окон рабочего стола Windows по горизонтали.Возвращаемого значения нет.
Параметров нет.
Set objShellApp = CreateObject("Shell.Application")
objShellApp.TileHorizontally
Объект Shell. Метод TileVertically.
Упорядочение окон рабочего стола Windows по вертикали.Возвращаемого значения нет.
Параметров нет.
Set objShellApp = CreateObject("Shell.Application")
objShellApp.TileVertically
Объект Shell. Метод ToggleDesktop.
Сворачивает или разворачивает все окна на рабочем столе.Синтаксис:
ToggleDesktop
Параметром нет.
Возвращаемого значения нет.
Имитирует нажатие на значок "Свернуть все окна" в панели "Быстрый запуск" ("Quick launch").
var objShell = new ActiveXObject("shell.application");
objShell.ToggleDesktop();
Объект Shell. Метод TrayProperties.
Вызов окна свойств панели задач Windows.Синтаксис:
TrayProperties
Возвращаемого значения нет.
Параметров нет.
Вызов метода приводит к тому же эффекту, что и команда "Свойства" ("Properties") контекстного меню панели задач Windows.
Set objShellApp = CreateObject("Shell.Application")
objShellApp.TrayProperties
Объект Shell. Метод UndoMinimizeAll.
Восстановление всех свёрнутых окон рабочего стола Windows..Возвращаемого значения нет.
Параметров нет.
Set objShellApp = CreateObject("Shell.Application")
objShellApp.MinimizeAll
WScript.Sleep 300
objShellApp.UndoMinimizeAll
Объект Shell. Метод Windows.
Получение объекта "ShellWindows".Синтаксис:
Windows
Возвращает объект "ShellWindows".
Параметров нет.
Set objShellApp = CreateObject("Shell.Application")
WinCol = objShellApp.Windows().Count
MsgBox "В настоящий момент открыто окон Проводника - " & WinCol, vbInformation
Объект Shell. Метод WindowsSecurity.
Имитирует нажатие CTRL+ALT+DELETE при использовании соединения Microsoft Terminal Server.Синтаксис:
WindowsSecurity
Параметром нет.
Возвращаемого значения нет.
var objShell = new ActiveXObject("shell.application");
objShell.WindowsSecurity();
Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуетс¤ регистраци¤).