Объект Shell

А.Климов
Русский_Проект

Объект Microsoft® Windows® Shell позволяет получить доступ к различным настройкам Windows при помощи Visual Basic. Например, вы можете получить доступ к различным диалоговым окнам, к файловой системе, запускать программы и изменять системные настройки

Знакомимся с объектом Shell

Версия Shell

Многие объекты оболочки Shell доступны в версии 4.71, но существуют и объекты доступные только в версии 5.00 и выше. Версия 4.71 установлена на компьютерах с Windows 98, а версия 5.00 на Windows 2000. Ниже приводится список доступных объектов в каждой версии

Version 4.71Version 5.00
FolderDIDiskQuotaUser
FolderItemVerb DiskQuotaControl
FolderItemVerbsFolder2
ShellFolderItem
ShellFolderViewFolderItems
ShellUIHelperFolderItems2
ShellWindowsIShellDispatch2
WebViewFolderContentsIShellLinkDual2
ShellFolderItem
ShellFolderViewOC
ShellLinkObject

Доступ к объекту Shell

Раннее связывание

Получить доступ к объекту Shell в Visual Basic можно при помощи раннего связывания, добавив ссылку к библиотекам:

Откроем проект в Visual Basic. Добавим ссылки к библиотекам и пишем следующий код для кнопки Command1

Dim o As New Shell
 o.MinimizeAll
 Set o = Nothing
Данный пример сворачивает все открытые окна

Позднее связывание

Также можно получить доступ к объектам Shell при помощи позднего связывания.

Приведем пример использования

dim oShell    
    
    set oShell = CreateObject("Shell.Application")
    oShell.MinimizeAll  

Примечание: Не все объекты Shell доступны при помощи позднего связывания. Вот список недоступных объектов

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

Объект Shell

Объект Shell является очень мощным оружием программиста для доступа ко многим возможностям Windows Shell. Вы сможете:

Приведем пример использования многих методов объектов Shell на Visual Basic

Откройте проект, установите ссылки на библитеки, добавьте на форму элемент ListBox
Private Sub Form_Load()
List1.AddItem "Свернуть все окна"
List1.AddItem "Окно Запуск программы"
List1.AddItem "Окно закрытия Windows"
List1.AddItem "Окно Найти файлы"
List1.AddItem "Системное время"
List1.AddItem "Свойства экрана"
List1.AddItem "Свойства панели задач"
List1.AddItem "Окна каскадом"
End Sub

Private Sub List1_Click()
Dim o As New Shell
Select Case List1.ListIndex
 Case 0
  o.MinimizeAll
 Case 1
  o.FileRun
 Case 2
  o.ShutdownWindows
 Case 3
  o.FindFiles
 Case 4
  o.SetTime
 Case 5
  o.ControlPanelItem "desk.cpl"
 Case 6
  o.TrayProperties
 Case 7
  o.CascadeWindows
End Select
Set o = Nothing

End Sub

Эпилог

В одной статье невозможно описать все возможности предоставляемые объектом Shell. Читайте MSDN, где достаточно подробно описана документация по Shell. Также, в Visual Basic вы можете просмотреть свойства, методы и объекты, предоставляемые Shell при помощи Object Browser (View-Object Browser или F2). Напоследок, приведу пример вызова диалогового окна Добавление в Избранное
Dim suih As New ShellUIHelper
Dim mysite As String
mysite = "http://rusproject.narod.ru/"
suih.AddFavorite mysite, "Русский_Проект"

Удачного вам программирования!

Реклама


Для писем: rusproject@mail.ru
© 2002 А.Климов