Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature currently requires accessing the site using the built-in Safari browser.
Dragokas написал(а):Ред. - при этом, событием можно назвать - например, лошадь ускорила свое движение (событие) - ответ наездника: потянуть за поводок (процедура, которую Вы хотите выполнить по этому событию).
Переход от объекта к свойству или методу происходит через знак точки.
Пример:
VB.NET / VBA:'создаем экземпляр класса Звери, который хранится в библиотеке Зоопарк 'Библиотека - это файл dll, ocx, tlb, ... зарегистрированный для всеобщего использования (иначе: COM - Component Object Model) 'Сведения о Зоопарке хранятся в реестре Windows. 'Команда set присваивает переменной Тигр ссылку на созданный объект Зверь set Тигр = CreateObject("Зоопарк.Звери") 'Даем нашему Зверю некоторые свойства, чтобы он мог выполнить то, что мы от него хотим Тигр.Цвет = "Белый" Тигр.Поведение = "Агрессивное" 'Выполняем процедуру Тигр.Бежать 'Запрашиваем выполнение функции Устал с передачей ей аргумента "Проверить тщательно" 'Записываем в переменную "Устал_ли_наш_тигр" значение, которое нам вернет эта функция. Устал_ли_наш_тигр = Тигр.Устал("Проверить тщательно") 'Проверяем значение переменной if Устал_ли_наш_тигр = true then Тигр.Отдохнуть 'Выведем на экран, голодный ли наш тигр 'Здесь получаем значение свойства Голодный. Статус = Тигр.Голодный 'Свойство отличается от функции тем, что оно представляет из себя одну переменную и мы просто получаем ее значение. 'а функция - это совокупность кода, который сначала выполняется и затем решается, какое значение вернуть. 'Заметьте, что свойство в отличие от функции, вызывается без круглых скоб 'Уничтожаем объект Тигр и высвобождаем в ОЗУ использованные ресурсы set Тигр = Nothing
'Вызываем процедуру по имени
Моя_процедура
'А вот здесь сам код процедуры
Sub Моя_Процедура
'Здесь много разного кода, все что Ваша фантазия захочет :)
End Sub
'Вызываем функцию по имени:
Переменная = Моя_функция()
'Выведем на экран значение переменной
msgbox Переменная
'Код функции
Function Моя_функция
'Кодим, что желаем
'А здесь запишем, какое значение нужно вернуть
Моя_функция = значение
End Function
msgbox WScript.ScriptFullName
WScript.Sleep(5000)
Dragokas написал(а):Примеры кода:
Генератор скриптов Scriptomatic (with Win7 fix)
WMI Scripting Examples by Rob Van Der Woude
Рецепты WMI: работа с реестром Windows
Рецепты WMI: управление сеансом пользователя
Рецепты WMI: сбор сведений о конфигурации операционной системы и установленном программном обеспечении
Рецепты WMI: сбор сведений об аппаратной конфигурации компьютера
Рецепты WMI: управление процессами
Про связь с WMI и что это такое:
К. Леонтьев. Вы всё ещё не используете WMI, ЧЧ.1,2
К. Леонтьев. Узнай секреты WMI, ЧЧ.1,2
К. Леонтьев. Узнай секреты WMI: события и провайдеры Ч.1.
К. Леонтьев. Узнай секреты WMI: события и провайдеры. Часть II: ключ к управлению системой и приложениями
MSDN. Разрешение проблем с WMI
Uros Calakovic WMI Query Language by Example
Комаров А. (Skvoznoi) WMI-трюки для хакера: Разбираемся с WMI
Людоговский А. Введение в WMI
wutils.com On-Line справочник объектов и методов WMI
MSDN WMI Win32 Classes - Дерево классов, с описанием всех значений.
Да. Все так. Когда ты задаешь:имеющее функционал,определенный типом этого так называемого объекта?
Но объект не только содержит функционал, а еще и информацию, с которой может взаимодействовать внутри себя.объекты не имеют физической формы а являют собой некое виртуальное пространство имеющее функционал
' создаем объект FSO для работы с файловой системой
set oFSO = CreateObject("Scripting.FileSystemObject")
' создаем объект каталог
set oFolder = oFSO.GetFolder("c:\temp")
' Пройдемся по коллекции файлов Files в этом каталоге
For each oFile in oFolder.Files
' Это буквально переводится как - Для Каждого oFile (объекта - Файл) в коллекции Files объекта Каталог (oFolder)
' Снимаем с файла все атрибуты, кроме архивный
oFile.Attributes = 32 '32 = Archieve
' Переходим к следующему объекту Файл в коллекции
Next
'Создаем Объект - Словарь
set oDict = CreateObject("Scripting.Dictionary")
' точка - текущий компьютер
sComputer = "."
' Подключаемся к пространству имен WMI
Set objWMIService = GetObject("winmgmts:\\" & sComputer & "\root\cimv2")
' Создаем объект - коллекцию Процессов
set oProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
' Перечисляем каждый из Процессов в коллекции Процессы
For Each oProcess in oProcesses
' Добавляем в словарь ключ - ID процесса, а значение ключа - Имя процесса
' clng - это функция преобразования в тип Long - целочисленное число
oDict.Add clng(oProcess.ProcessID), oProcess.Name
Next
' Спрашиваем у пользователя ProcessID, по которому он хочет узнать имя
ProcID = clng(inputbox("Введите ProcessID"))
' Проверяем существовал ли на момент получения снимка процессов такой ProcessID
if oDict.Exists(ProcID) then
msgbox "Имя процесса: " & oDict(ProcID) ' а здесь мы получаем значение из словаря по указанному ключу
else
msgbox "Процесса с таким ID не было."
end if
For each Key in oDict.Keys
'Выводим информацию в консоль, если скрипт запущен через CSCRIPT.exe
' <---- Уберите комментарий, когда будете запускать скрипт из командной строки командой cscript имя_скрипта.vbs
'WScript.Echo "ID: " & Key & " Имя процесса: " & oDict(Key)
Next
:: Выполним метод Save, что означает - создать ярлык в указанном месте
CreateObject("WScript.Shell").CreateShortCut("H:\notepad.lnk").Save
:: правда он никуда пока не ведет. Мы ему никакие свойства не задали :)
:: Более удачный пример - пауза в скрипте
WScript.Sleep(1000)
:: создаем ссылку на объект
set oLNK = CreateObject("WScript.Shell").CreateShortCut("H:\notepad.lnk")
:: Обращаемся к объекту по ссылке, выполняем метод Save
oLNK.Save
:: Уничтожаем объект, высвобождаем занятые ресурсы
set oLNK = nothing
set oShell = CreateObject("WScript.Shell")
set oLNK = oShell.CreateShortCut("H:\notepad.lnk")
oLNK.Save
set oLNK = nothing: set oShell = nothing
:: такой вариант наиболее читабельный
set oShell = CreateObject("WScript.Shell")
with oShell.CreateShortCut("H:\notepad.lnk")
.TargetPath = "notepad.exe" 'собственно целевая программа, вызываемая ярлыком
.Arguments = "дополнительные аргументы, передаваемые вызываемой программе при запуске"
.WorkingDirectory = "H:\" 'рабочий каталог
.IconLocation = "shell32.dll, 5" 'номер ресурса, под которым хранится иконка для ярлыка в указанной библиотеке
.WindowStyle = 1 'в каком виде развернуть программу при запуске
.HotKey = "CTRL+ALT+F" 'горячая клавиша запуска
.Description = "Описание ярлыка"
end with
set oShell = nothing
with CreateObject("WScript.Shell")
with .CreateShortCut("H:\notepad.lnk")
.TargetPath = "notepad.exe" 'собственно целевая программа, вызываемая ярлыком
.Arguments = "дополнительные аргументы, передаваемые вызываемой программе при запуске"
.WorkingDirectory = "C:\" 'рабочий каталог
.IconLocation = "shell32.dll, 5" 'номер под которым хранится иконка для ярлыка в указанной библиотеке
.WindowStyle = 1 'в каком виде развернуть программу при запуске
.HotKey = "CTRL+ALT+F" 'горячая клавиша запуска
.Description = "Описание ярлыка"
end with
end with