Перейти на главную страничку сайта (список статей, файлы для скачивания)
Оглавление: Назначение Установка Обработка ошибок Сервер ScriptCodingInfo.FileSystem Метод CreateDirs(ByVal DirNameToCreate) Метод ClearFolder(ByVal FolderToClear) Метод WalkFolders(ByVal FolderToWalk) Метод WalkFiles(ByVal FolderToWalk) Метод WalkFilesEx(ByVal FolderToWalk, ByVal Mask, ByVal ModifyDate, ByVal Flag) Метод WalkFoldersEx(ByVal FolderToWalk, ByVal Mask, ByVal ModifyDate, ByVal Flag) Метод EmptyFolders(ByVal FolderToWalk) Метод CompareFolders(ByVal Path1, ByVal Path2, ByVal flSynch) Метод FindFile(ByVal FileNameForFind) Сервер ScriptCodingInfo.Win32API Обёртка идентификаторов оконных сообщений Обёртка Beep(ByVal Freq, ByVal Duration) Обёртка GetForegroundWindow() Метод GetTitleForegroundWindow() Метод GetScreenResolution() Сервер ScriptCodingInfo.Text Метод FormatDateTimeForFilename(ByVal DateTime, ByVal Delim, ByVal Style) Метод DiffTextFiles(File1, File2, File3, title) Метод DiffTextFiles2(File1, File2, delim, File3, title) Сервер ScriptCodingInfo.Translator Свойство WScript Метод AddEvent(EventName, EventHandler) Метод RemoveEvent(EventName) Сервер ScriptCodingInfo.ConsoleCommands Метод RunCommand(ByVal Command) Метод GetIPAddress(ByVal ConnName) Метод IsAlive(ByVal Host) Сервер ScriptCodingInfo.BinaryFile Метод BinCode(file, str) Метод FileCodePage(ByVal FileToConvert, ByVal SourceCharset, ByVal DestCharset) Метод StrCodePage(ByVal StrToConvert, ByVal SourceCharset, ByVal DestCharset) Метод FilePatch(file, position, byte) Сервер ScriptCodingInfo.LogOut Флаги Свойство IncludeDateTime Свойство WScript Свойство LogFilePath Свойство EventType Свойство EventTarget Свойство ScrollIE Свойство Delimiter Метод ClearLogFile() Метод Out(ByVal TextForOut) Сервер ScriptCodingInfo.DialogHTA Метод CreateDialog(ByRef Params) Сервер ScriptCodingInfo.Network Метод GetComputers(domain) Сервер ScriptCodingInfo.Settings Метод SaveSetting(ByVal Name, ByVal Value) Метод GetSetting(ByVal Name) Метод DeleteSetting(ByVal Name) Версии, загрузка 27.01.2008, 08.02.2008, 27.02.2008, 29.02.2008, 05.03.2008, 08.03.2008, 15.03.2008, 31.03.2008, 03.04.2008, 04.04.2008, 06.04.2008, 11.04.2008, 15.04.2008, 22.04.2008, 12.07.2008, 15.07.2008, 18.07.2008, 04.09.2008
Библиотека ScriptCodingInfo.wsc - скриптовый COM-сервер, построенный по технологии Windows Script Component, с открытым исходным кодом. Это сценарий WSH, упакованный в COM-объект, который можно использовать в приложениях, написанных на любом языке, поддерживающем технологию COM и способном выступить в роли OLE-клиента.
Это открытый проект, к которому могут подключиться все желающие. Цель проекта - создать компонент, который дополняет стандартные возможности WSH (например, возможностями dynwrap.dll), а также инкапсулирует часто используемый код WSH, который неудобно бесконечно копировать из скрипта в скрипт.
Библиотека ScriptCodingInfo.wsc поставляется "как есть", без явных или подразумеваемых гарантий. В используете её на свой страх и риск. Если вы хотите использовать код библиотеки полностью или частично в своём проекте или самостоятельно опубликовать каким-либо способом код или описание этой библиотеки, пожалуйста, обязательно укажите ссылку на эту страницу.
Создайте новую тему на форуме, если:
Настоящая статья описывает компонент всегда в его последней версии. По мере появления новых версий статья исправляется и дополняется. История версий также ведётся, в виде перечисления. Примеры кода в настоящей статье приводятся на языке VBScript для административных скриптов Windows, если явно не указано иное.
Возможности, предоставляемые компонентом:
Компонент предоставляет несколько COM-серверов (с различными ProgID), которые используются независимо. Каждый COM-сервер описан ниже отдельно. Для функционирования некоторых (не всех) COM-серверов потребуется библиотека dynwrap.dll, которую можно скачать, установить и использовать независимо. Процесс установки описан ниже. Для функционирования других COM-серверов могут потребоваться другие дополнительные библиотеки - смотрите описание каждого COM-сервера.
Многие COM-сервера библиотеки "ScriptCodingInfo.wsc" написаны как "pure WSH" и поэтому не требуют установки в системе никаких дополнительных компонентов. В любом случае, вам придётся устанавливать только то, что вы действительно собираетесь использовать, т.к. все COM-сервера библиотеки работают независимо. Например, если вам совершенно не нужен COM-сервер "ScriptCodingInfo.Win32API" и вы не собираетесь его использовать, то библиотека будет прекрасно работать и без установки dynwrap.dll.
Участники проекта: The gray Cardinal, alexii, wisgest, fps, Xameleon.
Скопируйте файл ScriptCodingInfo.wsc в любое удобное вам место, например:
C:\WINDOWS\system32\ScriptCodingInfo.wsc
Зарегистрируйте COM-сервер командой наподобие следующей:
regsvr32.exe "C:\WINDOWS\system32\ScriptCodingInfo.wsc"
Такая регистрация будет равносильна применению следующего reg-файла:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\ScriptCodingInfo.Win32API] [HKEY_CLASSES_ROOT\ScriptCodingInfo.Win32API\CLSID] @="{E96E32A2-AF06-4152-BFF2-08331755B52B}" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E96E32A2-AF06-4152-BFF2-08331755B52B}] [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E96E32A2-AF06-4152-BFF2-08331755B52B}\InprocServer32] @="C:\\WINDOWS\\system32\\scrobj.dll" "ThreadingModel"="Apartment" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E96E32A2-AF06-4152-BFF2-08331755B52B}\ProgID] @="ScriptCodingInfo.Win32API" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E96E32A2-AF06-4152-BFF2-08331755B52B}\ScriptletURL] @="file:///C:/WINDOWS/system32/ScriptCodingInfo.wsc" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E96E32A2-AF06-4152-BFF2-08331755B52B}\VersionIndependentProgID] @="ScriptCodingInfo.Win32API" [HKEY_CLASSES_ROOT\ScriptCodingInfo.FileSystem] [HKEY_CLASSES_ROOT\ScriptCodingInfo.FileSystem\CLSID] @="{96AE6C76-AC01-4C05-9A4B-56E46CF1076C}" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{96AE6C76-AC01-4C05-9A4B-56E46CF1076C}] [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{96AE6C76-AC01-4C05-9A4B-56E46CF1076C}\InprocServer32] @="C:\\WINDOWS\\system32\\scrobj.dll" "ThreadingModel"="Apartment" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{96AE6C76-AC01-4C05-9A4B-56E46CF1076C}\ProgID] @="ScriptCodingInfo.FileSystem" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{96AE6C76-AC01-4C05-9A4B-56E46CF1076C}\ScriptletURL] @="file:///C:/WINDOWS/system32/ScriptCodingInfo.wsc" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{96AE6C76-AC01-4C05-9A4B-56E46CF1076C}\VersionIndependentProgID] @="ScriptCodingInfo.FileSystem"
В ситуациях, когда у текущего пользователя не хватает прав для записи в соответствующие ключи реестра, можно зарегистрировать COM-компонент только для текущего пользователя, а не для компьютера в целом. В следующем примере (reg-файл) библиотека будет зарегистрирована в реестре только для текущего пользователя, что потребует прав только на запись в раздел HKEY_CURRENT_USER:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Classes\ScriptCodingInfo.Win32API] [HKEY_CURRENT_USER\Software\Classes\ScriptCodingInfo.Win32API\CLSID] @="{E96E32A2-AF06-4152-BFF2-08331755B52B}" [HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{E96E32A2-AF06-4152-BFF2-08331755B52B}] [HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{E96E32A2-AF06-4152-BFF2-08331755B52B}\InprocServer32] @="C:\\WINDOWS\\system32\\scrobj.dll" "ThreadingModel"="Apartment" [HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{E96E32A2-AF06-4152-BFF2-08331755B52B}\ProgID] @="ScriptCodingInfo.Win32API" [HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{E96E32A2-AF06-4152-BFF2-08331755B52B}\ScriptletURL] @="file:///C:/WINDOWS/system32/ScriptCodingInfo.wsc" [HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{E96E32A2-AF06-4152-BFF2-08331755B52B}\VersionIndependentProgID] @="ScriptCodingInfo.Win32API" [HKEY_CURRENT_USER\Software\Classes\ScriptCodingInfo.FileSystem] [HKEY_CURRENT_USER\Software\Classes\ScriptCodingInfo.FileSystem\CLSID] @="{96AE6C76-AC01-4C05-9A4B-56E46CF1076C}" [HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{96AE6C76-AC01-4C05-9A4B-56E46CF1076C}] [HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{96AE6C76-AC01-4C05-9A4B-56E46CF1076C}\InprocServer32] @="C:\\WINDOWS\\system32\\scrobj.dll" "ThreadingModel"="Apartment" [HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{96AE6C76-AC01-4C05-9A4B-56E46CF1076C}\ProgID] @="ScriptCodingInfo.FileSystem" [HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{96AE6C76-AC01-4C05-9A4B-56E46CF1076C}\ScriptletURL] @="file:///C:/WINDOWS/system32/ScriptCodingInfo.wsc" [HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{96AE6C76-AC01-4C05-9A4B-56E46CF1076C}\VersionIndependentProgID] @="ScriptCodingInfo.FileSystem"
Если вы хотите использовать COM-сервера компонента, которые требуют библиотеки dynwrap.dll, вам придется зарегистрировать и эту библиотеку:
regsvr32.exe "C:\WINDOWS\system32\dynwrap.dll"
Это равносильно применению следующего reg-файла:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\DynamicWrapper] [HKEY_CLASSES_ROOT\DynamicWrapper\CLSID] @="{202774D1-D479-11d1-ACD1-00A024BBB05E}" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{202774D1-D479-11d1-ACD1-00A024BBB05E}] [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{202774D1-D479-11d1-ACD1-00A024BBB05E}\InProcServer32] @="C:\\Windows\\system32\\dynwrap.dll"
В ситуациях, когда у текущего пользователя не хватает прав для записи в соответствующие ключи реестра, можно зарегистрировать COM-компонент только для текущего пользователя, а не для компьютера в целом. В следующем примере (reg-файл) библиотека dynwrap.dll будет зарегистрирована в реестре только для текущего пользователя, что потребует прав только на запись в раздел HKEY_CURRENT_USER:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Classes\DynamicWrapper] [HKEY_CURRENT_USER\Software\Classes\DynamicWrapper\CLSID] @="{202774D1-D479-11d1-ACD1-00A024BBB05E}" [HKEY_CURRENT_USER\Software\Classes\CLSID\{202774D1-D479-11d1-ACD1-00A024BBB05E}] [HKEY_CURRENT_USER\Software\Classes\CLSID\{202774D1-D479-11d1-ACD1-00A024BBB05E}\InProcServer32] @="C:\\Windows\\system32\\dynwrap.dll"
Библиотеку ScriptCodingInfo.wsc можно использовать и без регистрации. Примеры создания объектов библиотеки:
' Объект "ScriptCodingInfo.FileSystem": Set fs = GetObject("script:C:\WINDOWS\system32\ScriptCodingInfo.wsc#FileSystem") ' Объект "ScriptCodingInfo.Win32API": Set api = GetObject("script:C:\WINDOWS\system32\ScriptCodingInfo.wsc#Win32API")
Если нужна библиотека dynwrap.dll (если вы хотите использовать COM-сервера компонента, которые требуют этой библиотеки), эту библиотеку придется регистрировать в любом случае. Библиотека dynwrap.dll может быть зарегистрирована полностью автоматически, при создании объекта компонента, который её требует, по следующему алгоритму:
Чтобы проверить, удалось ли зарегистрировать библиотеку dynwrap.dll автоматически, вы можете использовать свойство DynamicWrapper COM-сервера:
Set api = CreateObject("ScriptCodingInfo.Win32API") If Not api.DynamicWrapper Is Nothing Then WScript.Echo "Библиотека dynwrap.dll зарегистрирована." Else WScript.Echo "Библиотека dynwrap.dll не зарегистрирована." End If
Кроме того, можно зарегистрировать библиотеку dynwrap.dll программным способом явно, если путь к её файлу известен:
Set api = CreateObject("ScriptCodingInfo.Win32API") api.RegDynWrap "C:\temp\dynwrap.dll"
При вызове метода RegDynWrap производится попытка регистрации dynwrap.dll для компьютера в целом (путем записи в реестр). Если эта попытка оказывается неудачной (например, не хватает прав), производится такая же попытка регистрации для пользователя. После этого вы опять можете использовать свойство DynamicWrapper COM-сервера, как было показано выше, чтобы проверить, удалось ли зарегистрировать библиотеку dynwrap.dll.
Все COM-сервера библиотеки ScriptCodingInfo.wsc предоставляют свойство Version (только чтение), которое возвращает текущий номер версии.
Все COM-сервера библиотеки ScriptCodingInfo.wsc предоставляют ряд свойств, содержащих информацию о последней произошедшей ошибке (только чтение):
LastErrorSource | Свойство Source стандартного объекта Err, доступного в WSH. |
LastErrorDescription | Свойство Description стандартного объекта Err, доступного в WSH. |
LastErrorNumber | Свойство Number стандартного объекта Err, доступного в WSH. |
LastErrorMethod | Имя метода библиотеки, в котором произошла ошибка (строка). |
LastErrorReason | Причина ошибки (строка), т.е. операция, при выполнении которой произошла ошибка, например, "create object", "find file" и т.п. |
LastErrorInfo | Дополнительная информация об ошибке (строка), например, имя ненайденного файла, несозданного объекта и т.п. |
Пример использования:
Set fs = CreateObject("ScriptCodingInfo.FileSystem") fs.WalkFolders("C:\System Volume Information") WScript.Echo fs.LastErrorInfo WScript.Echo fs.LastErrorMethod WScript.Echo fs.LastErrorReason WScript.Echo fs.LastErrorNumber WScript.Echo fs.LastErrorDescription WScript.Echo fs.LastErrorSource
Все COM-сервера библиотеки ScriptCodingInfo.wsc предоставляют событие onError, на которое можно подписаться. В обработчике события можно обратиться к вышеперечисленным свойствам, отслеживая таким образом все ошибки, а не только последнюю.
Пример использования:
Set fs = WScript.CreateObject("ScriptCodingInfo.FileSystem", "SCIFS_") fs.WalkFolders("C:\System Volume Information") Function SCIFS_onError() WScript.Echo "method: " & fs.LastErrorMethod WScript.Echo "reason: " & fs.LastErrorReason WScript.Echo "info: " & fs.LastErrorInfo WScript.Echo fs.LastErrorNumber WScript.Echo fs.LastErrorDescription WScript.Echo fs.LastErrorSource WScript.Echo End Function
Пример подписки на события без регистрации COM-сервера:
Set fs = GetObject("script:c:\temp\ScriptCodingInfo.wsc#FileSystem") WScript.ConnectObject fs, "SCIFS_" fs.WalkFolders("C:\System Volume Information") Function SCIFS_onError() WScript.Echo "method: " & fs.LastErrorMethod WScript.Echo "reason: " & fs.LastErrorReason WScript.Echo "info: " & fs.LastErrorInfo WScript.Echo fs.LastErrorNumber WScript.Echo fs.LastErrorDescription WScript.Echo fs.LastErrorSource WScript.Echo End Function
Не требует библиотек. Pure WSH.
COM-сервер предоставляет методы для работы с файловой системой: создание, очистка, обход, сравнение каталогов и т.п.
Создание каталога. Создаёт при необходимости все промежуточные каталоги в пути, если они не существуют. Пример использования:
Set fs = CreateObject("ScriptCodingInfo.FileSystem") fs.CreateDirs("C:\Temp\tmp1\tmp2\tmp3")
Полная очистка каталога без его удаления/пересоздания. Пример использования:
Set fs = CreateObject("ScriptCodingInfo.FileSystem") fs.ClearFolder("C:\Temp\tmp1\")
Рекурсивный обход папок. Возвращает массив объектов "Folder". Пример использования:
Set fs = CreateObject("ScriptCodingInfo.FileSystem") For Each fld In fs.WalkFolders("C:\Temp") WScript.Echo fld.ShortPath Next
Рекурсивный обход файлов в папке. Возвращает массив объектов "File". Пример использования:
Set fs = CreateObject("ScriptCodingInfo.FileSystem") For Each fl In fs.WalkFiles("C:\Temp") WScript.Echo fl.ShortPath Next
Рекурсивный обход файлов в папке с фильтрующими параметрами, может использоваться для поиска файлов. Возвращает массив объектов "File". Параметры:
Примеры использования:
Set fs = CreateObject("ScriptCodingInfo.FileSystem") ' все файлы .ert на диске C:\, у которых дата модификации больше или равна "08.02.2008" 'For Each objItem In fs.WalkFilesEx("c:\", ".*\.ert$", "08.02.2008", False) ' все файлы .ert на диске C:\, у которых дата модификации меньше или равна "08.02.2008" 'For Each objItem In fs.WalkFilesEx("c:\", ".*\.ert$", "08.02.2008", True) ' все файлы .ert на диске C:\ (формально - у которых дата модификации больше или равна "01.01.1900") 'For Each objItem In fs.WalkFilesEx("c:\", ".*\.ert$", "01.01.1900", False) ' все файлы на диске C:\, у которых дата модификации больше или равна "08.02.2008 16:30:00" For Each objItem In fs.WalkFilesEx("c:\", "", "08.02.2008 16:30:00", False) WScript.Echo objItem.Path Next
Рекурсивный обход папок с фильтрующими параметрами, может использоваться для поиска папок. Возвращает массив объектов "Folder". Параметры и использование - полная аналогия с методом WalkFilesEx. Пример использования:
Set fs = CreateObject("ScriptCodingInfo.FileSystem") For Each fld In fs.WalkFoldersEx("C:\Windows", ".*\\\$.*\$$", "01.01.1900", False) WScript.Echo fld.Path Next
Пример разыщет все папки внутри "C:\Windows", имя которых начинается и заканчивается на "$".
Рекурсивный поиск пустых папок в указанной папке. Возвращает массив объектов "Folder". Пример использования:
Set fs = CreateObject("ScriptCodingInfo.FileSystem") For Each fld In fs.EmptyFolders("C:\") WScript.Echo fld.Path Next
Рекурсивное сравнение и синхронизация каталогов. Параметры:
Сравниваются только файлы, по их наличию и по дате их модификации. Если flSynch=True, всё необходимое копируется "поверх" в нужном направлении (включая файлы readOnly), иначе возвращаются результаты сравнения - массив объектов класса FilePair. Каждый объект соответствует паре файлов, между которыми найдены различия (один из этих файлов может не существовать - в случае, если файл содержится в каталоге Path1, а в каталоге Path2 его нет, или наоборот).
Свойства и методы класса FilePair:
Пример использования:
Set fs = CreateObject("ScriptCodingInfo.FileSystem") 'fs.CompareFolders "C:\Temp\Test\", "C:\Temp\Test2\", True arr = fs.CompareFolders("C:\Temp\Test\", "C:\Temp\Test2\", False) If TypeName(arr) = "Variant()" Then For Each Pair In arr WScript.Echo Pair.FileLeftPath, "<=>", Pair.FileRightPath Next End If
Рекурсивный поиск указанного файла на локальных жёстких дисках компьютера (разыскивается точное совпадение).
Метод возвращает массив, первый элемент которого всегда содержит булево значение, показывающее успех поиска. Остальные элементы массива содержат полные пути найденных файлов. Если ни одного файла не найдено, массив содержит только один элемент.
Пример использования:
Set fs = CreateObject("ScriptCodingInfo.FileSystem") arrRes = fs.FindFile("calc.exe") If arrRes(0) Then For i = 1 To UBound(arrRes) WScript.Echo arrRes(i) Next End If
Требует библиотеки dynwrap.dll.
COM-сервер предоставляет обёртки различных функций Win32 API, а также различные методы, основанные на вызовах Win32 API.
Многочисленные свойства (только чтение), возвращающие числовые значения идентификаторов оконных сообщений. Совпадают с константами, часто используемыми в различных средах программирования, например, "WM_NULL", "WM_CREATE" и т.д. Добавлены для удобства, чтобы эти константы не нужно было специально объявлять. Например:
Set api = CreateObject("ScriptCodingInfo.Win32API") WScript.Echo api.WM_GETTEXT
Функция Beep библиотеки kernel32.dll.
Beep (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Подача звукового сигнала системным динамиком. Параметры - высота и длительность звука. Пример использования:
Set api = CreateObject("ScriptCodingInfo.Win32API") res = api.Beep(500, 100) res = api.Beep(550, 100) res = api.Beep(600, 100) res = api.Beep(650, 100) res = api.Beep(700, 700) WScript.Sleep 200 res = api.Beep(700, 100) res = api.Beep(650, 100) res = api.Beep(600, 100) res = api.Beep(550, 100) res = api.Beep(500, 700)
Функция GetForegroundWindow библиотеки user32.dll.
GetForegroundWindow() As Long
Возвращает хэндл активного окна активного приложения (число). Пример использования:
Set api = CreateObject("ScriptCodingInfo.Win32API") WScript.Echo api.GetForegroundWindow()
Возвращает заголовок окна, находящегося на переднем плане. Пример использования:
Set api = CreateObject("ScriptCodingInfo.Win32API") WScript.Echo api.GetTitleForegroundWindow()
Возвращает массив из двух элементов, содержащий текущее разрешение экрана. Пример использования:
Set api = CreateObject("ScriptCodingInfo.Win32API") Res = api.GetScreenResolution() WScript.Echo Res(0) & "x" & Res(1)
Не требует библиотек. Pure WSH.
COM-сервер предоставляет различные методы для работы со строками, текстом и текстовыми файлами.
Возвращает дату, отформатированную в виде, удобном для имён файлов (когда дата включается в имена файлов). Может пригодиться для "правильной" сортировки поименованных таким способом файлов в файловом менеджере. Параметры:
Примеры использования:
Set txt = CreateObject("ScriptCodingInfo.Text") WScript.Echo "общая часть_" & txt.FormatDateTimeForFilename(Now, "_", 1) & ".txt" WScript.Echo txt.FormatDateTimeForFilename(Now, "_", 2) WScript.Echo txt.FormatDateTimeForFilename(Date, "_", 3) WScript.Echo txt.FormatDateTimeForFilename(Time, "_", 4) WScript.Echo txt.FormatDateTimeForFilename(Time, "_", 5) WScript.Echo txt.FormatDateTimeForFilename("01.02.2008 23:59:59", "", 1) WScript.Echo txt.FormatDateTimeForFilename("01.02.2008", "", 1) WScript.Echo txt.FormatDateTimeForFilename("23:59", "", 1)
Сравнивает текстовые файлы по строкам. Параметры File1, File2, File3 - пути к файлам, третий параметр необязателен (четвёртый - тоже). Метод разыскивает все строки, которые есть в File2, но которых нет в File1. Если параметр File3 задан, найденные таким образом строки будут записаны в этот файл (если этот файл существует, он всегда дописывается). Если параметр File3 не задан, найденные таким образом строки будут просто возвращены методом (в виде многострочного текста). Если последний параметр title задан как True (и задан параметр File3), в файл File3 будет помещён заголовок вида:
"C:\Temp\file1.txt";"C:\Temp\file2.txt"
Такой заголовок позволит отделить друг от друга результаты сравнения нескольких пар файлов, если они направляются в один и тот же файл путём многократного вызова метода.
Пример использования:
Set txt = CreateObject("ScriptCodingInfo.Text") txt.DiffTextFiles "C:\Temp\file1.txt", "C:\Temp\file2.txt", "C:\Temp\file3.txt", True res = txt.DiffTextFiles("C:\Temp\file1.txt", "C:\Temp\file2.txt") 'WScript.Echo res For Each str In Split(res, vbCrLf) WScript.Echo str Next
Пустые строки файлов при сравнении обрабатываются точно так же, как и все остальные.
Метод работает только с уникальными строками. Если в файле File2 строка, которая отсутствует в файле File1, попадается несколько раз, в результаты сравнения она попадёт только один раз.
Метод во многом аналогичен предыдущему (DiffTextFiles), но работает не с уникальными строками, а сравнивает файлы построчно (каждая строка с каждой). Параметры:
Пример использования:
Set txt = CreateObject("ScriptCodingInfo.Text") txt.DiffTextFiles2 "C:\Temp\file1.txt", "C:\Temp\file2.txt", "::", "C:\Temp\file3.txt", True res = txt.DiffTextFiles2("C:\Temp\file1.txt", "C:\Temp\file2.txt") For Each str In Split(res, vbCrLf) WScript.Echo str Next
Не требует библиотек. Pure WSH.
COM-сервер предоставляет методы и объекты, доступные в одних средах, но недоступные в других.
Возвращает стандартный объект WScript (только чтение). Предоставляет возможность использования стандартного объекта WScript там, где он недоступен непосредственно (например, в HTA). В частности, позволяет создавать объекты с подпиской на их события. Пример HTA-приложения:
<HTML> <HEAD> <META http-equiv='Content-Type' content='text/html; charset=windows-1251'> <SCRIPT language='JavaScript' type='text/javascript'><!-- var WshScript=new ActiveXObject("ScriptCodingInfo.Translator"), WScript=WshScript.WScript; alert(WScript.ScriptFullName); WScript.Sleep(5000); var WshShell=WScript.CreateObject("WScript.Shell"); var WshScriptExec=WshShell.Exec("cmd.exe"); WshScriptExec.StdIn.WriteLine("chcp 1251>nul"); WshScriptExec.StdIn.WriteLine("dir"); WshScriptExec.StdIn.WriteLine("exit"); alert(WshScriptExec.StdOut.ReadAll()); onunload=function () {WScript.Quit();}; // --></SCRIPT> <SCRIPT language='VBScript' type='text/vbscript'><!-- Dim IE Sub document_onclick() Set IE = WScript.CreateObject("InternetExplorer.Application", "IE_") IE.Visible = True WshScript.AddEvent "IE_OnQuit", GetRef("IE_OnQuit") End Sub Sub IE_OnQuit() IE.Visible = False 'чтобы увидеть следующее сообщение, 'т.к. фокус окну HTA не передаётся alert "IE_OnQuit: окно Internet Explorer будет закрыто." End Sub ' --></SCRIPT> </HEAD> <BODY> <P>При щелчке мышью по странице будет открыто окно Internet Explorer, при закрытии которого будет выведено сообщение «IE_OnQuit: окно Internet Explorer будет закрыто.».</P> <P><SMALL>Повторный щелчок до закрытия Internet Explorer может привести к ошибке.</SMALL></P> </BODY></HTML>
При запуске этого hta происходит следующее:
При обращении к свойству WScript создаются два временных js-файла, которые запускаются по цепочке. Один из этих скриптов и транслирует свой объект WScript. Таким образом, этот скрипт находится в памяти до тех пор, пока вы используете полученный объект WScript. Вы должны явно вызвать WScript.Quit(), чтобы завершить процесс этого скрипта.
Позволяет добавить обработчик указанного события для объекта, созданного с помощью метода CreateObject транслируемого объекта WScript. Параметры:
Пример использования - см. описание свойства WScript.
Позволяет удалить обработчик указанного события для объекта, созданного с помощью метода CreateObject транслируемого объекта WScript.
Не требует библиотек. Pure WSH.
COM-сервер предоставляет методы для работы с консольными командами и методы, являющиеся обёртками различных консольных команд. Командный интерпретатор и файлы bat/cmd иногда предоставляют возможности, которые неудобно или крайне затруднительно реализовывать в скриптах под Windows Script Host. Данный COM-сервер призван частично компенсировать эти неудобства.
Выполняет переданную консольную команду и возвращает её вывод. Параметр Command может содержать переводы строк, в этом случае исполняется набор команд, как в командном файле (CMD/BAT). Примеры:
Set cc = CreateObject("ScriptCodingInfo.ConsoleCommands") WScript.Echo cc.RunCommand("""C:\Temp\test.cmd""") WScript.Echo cc.RunCommand("dir") WScript.Echo cc.RunCommand("@echo off" & vbCrLf & "chcp 1251>nul" & vbCrLf & "dir")
Возвращает IP-адрес компьютера по указанному сетевому соединению (используется команда ipconfig). Указывайте свои сетевые соединения или однозначно идентифицирующие фрагменты их названий. Если указать несуществующее сетевое соединение, будет возвращена пустая строка. Пример:
Set cc = CreateObject("ScriptCodingInfo.ConsoleCommands") WScript.Echo cc.GetIPAddress("по локальной сети")
Получает имя компьютера или IP-адрес для проверки и возвращает True или False, в зависимости от того, отвечает компьютер, или нет (используется команда ping). Примеры:
Set cc = CreateObject("ScriptCodingInfo.ConsoleCommands") WScript.Echo cc.IsAlive("www.script-coding.com") WScript.Echo cc.IsAlive("localhost") WScript.Echo cc.IsAlive("127.0.0.1")
Используется библиотека ADO (Microsoft ActiveX Data Object).
COM-сервер предоставляет методы для работы с двоичными файлами и кодировками текста.
Если параметр str не задан, метод возвращает в виде строки бинарный файл file. Если параметр str задан, то эта строка будет записана в бинарный файл file. Таким образом, метод позволяет прочитать бинарный файл и сконвертировать полученные данные в строку, которая не содержит непечатаемых символов. В таком виде данные могут где-то храниться, затем можно прочитать сконвертированные ранее данные и восстановить бинарный файл на диске. Пример использования:
Set bf = CreateObject("ScriptCodingInfo.BinaryFile") save = bf.BinCode("C:\Temp\test.jpg") bf.BinCode "C:\Temp\test1.jpg", save
Конвертирует указанный текстовый файл из одной кодировки в другую. Параметры:
Пример использования:
Set bf = CreateObject("ScriptCodingInfo.BinaryFile") bf.FileCodePage "c:\Temp\test.txt", "cp866", "windows-1251"
Конвертирует переданную строку из одной кодировки в другую и возвращает сконвертированную строку. Параметры:
Имейте в виду, что в Windows конвертация текста из кодировки в кодировку происходит во многих случаях автоматически (при чтении файлов, при работе с буфером обмена и т.д.), поэтому иногда бывает легко запутаться. Просто пробуйте разные варианты конвертации. Примеры использования:
Set bf = CreateObject("ScriptCodingInfo.BinaryFile") WScript.Echo bf.StrCodePage("бНОПНЯ", "koi8-r", "windows-1251") txt = CreateObject("Scripting.FileSystemObject").OpenTextFile("c:\Temp\test.txt", 1).ReadAll() WScript.Echo bf.StrCodePage(txt, "windows-1251", "cp866")
Производит патч бинарного файла по указанному смещению. Параметры:
Пример использования:
Set bf = CreateObject("ScriptCodingInfo.BinaryFile") bf.FilePatch "C:\Temp\notepad.exe", &hAB, &hFF bf.FilePatch "C:\Temp\notepad.exe", &hAC, &hFF Set cc = CreateObject("ScriptCodingInfo.ConsoleCommands") out = cc.RunCommand("fc /b C:\Temp\notepad.exe ""C:\Temp\Копия notepad.exe""") WScript.Echo bf.StrCodePage(out, "windows-1251", "cp866")
Не требует библиотек. Pure WSH. Однако, программы, с помощью которых осуществляется вывод, должны быть, конечно, установлены.
COM-сервер предоставляет возможности для ведения логов в скриптах различными способами. Можно выводить записи лога:
COM-сервер позволяет удобно выводить запись лога в несколько мест одновременно (в любой комбинации) с помощью однократного вызова одного метода.
Булевы значения, чтение и запись. По умолчанию все флаги имеют значение False.
EnableEcho | Разрешает/запрещает вывод стандартным способом через WScript.Echo. |
EnableFileOut | Разрешает/запрещает вывод в файл. |
EnableLogEvent | Разрешает/запрещает вывод в журнал событий Windows. |
EnableIE | Разрешает/запрещает вывод в специальное окно Internet Explorer. |
EnableMSWord | Разрешает/запрещает вывод в окно документа MS Word. |
EnableMSExcel | Разрешает/запрещает вывод в окно документа MS Excel. |
EnableOOoWriter | Разрешает/запрещает вывод в окно документа OOo Writer. |
EnableOOoCalc | Разрешает/запрещает вывод в окно документа OOo Calc. |
Булево, чтение и запись. По умолчанию имеет значение False. Определяет, включать ли в вывод автоматически дату и время. Не влияет на вывод в журнал событий Windows.
Стандартный объект WScript, чтение и запись. По умолчанию имеет значение Nothing. Этому свойству должен быть явно присвоен стандартный объект WScript клиентского скрипта, если необходимо задействовать вывод стандартным способом через WScript.Echo. Пример такого присвоения:
Set lg = CreateObject("ScriptCodingInfo.LogOut") Set lg.WScript = WScript
Строка, чтение и запись. Путь к файлу лога (играет роль, если необходимо задействовать вывод в файл). По умолчанию - файл со случайным именем в каталоге пользователя для временных файлов.
Число, чтение и запись. Тип события, записываемого в журнал событий Windows (играет роль, если необходимо задействовать вывод в журнал событий Windows). Одна из следующих констант:
По умолчанию - leTypeInformation (4).
Строка, чтение и запись. Имя компьютера, в журнал событий которого будет производиться запись (играет роль, если необходимо задействовать вывод в журнал событий Windows). По умолчанию - имя текущего компьютера.
Булево, чтение и запись. По умолчанию имеет значение False. Определяет, прокручивать ли автоматически содержимое окна Internet Explorer при выводе в него очередной записи лога.
Строка, чтение и запись. Разделитель для вывода текста по ячейкам в документ электронной таблицы. По умолчанию - символ табуляции. Применение - см. пример в описании метода Out(). Этим же разделителем автоматически отделяется и отметка даты-времени, если свойство IncludeDateTime установлено в True.
Полная очистка файла лога (при выводе файл лога всегда дописывается, если он существует).
Собственно вывод записи в лог. В параметре передаётся текст для вывода. Вывод осуществляется одновременно во все места, куда предварительно разрешено выводить флагами (см. выше раздел "Флаги"). Пример использования:
Set lg = CreateObject("ScriptCodingInfo.LogOut") Set lg.WScript = WScript lg.EnableEcho = True lg.IncludeDateTime = True Set FSO = CreateObject("Scripting.FileSystemObject") lg.LogFilePath = FSO.GetParentFolderName(WScript.ScriptFullName) & "\log.txt" lg.EnableFileOut = True lg.EnableIE = True lg.ScrollIE = True lg.Out "Test"
Если разрешён вывод в окно Internet Explorer (флаг EnableIE), окно Internet Explorer появляется при первом вызове метода Out. В дальнейшем изменение значения флага EnableIE оказывает влияние только на вывод в это окно, но само окно уже всегда будет на экране (оно останется на экране и после завершения работы скрипта).
При выводе в файл лога он всегда дописывается, если он существует. Если необходимо перезаписать файл лога, воспользуйтесь методом ClearLogFile.
Пример вывода в MS Word и MS Excel:
Set lgo = CreateObject("ScriptCodingInfo.LogOut") lgo.EnableMSExcel = True lgo.Delimiter = "::" For i=0 To 10 lgo.Out "Текст" & "::" & "для" & "::" & "вывода." lgo.Out "Текст для вывода." Next lgo.EnableMSExcel = False lgo.EnableMSWord = True For i=0 To 10 lgo.Out "Текст для вывода." Next
Пример вывода в OOo Writer и OOo Calc:
Set lgo = CreateObject("ScriptCodingInfo.LogOut") lgo.EnableOOoWriter = True For i=0 To 10 lgo.Out "Текст для вывода." Next lgo.EnableOOoWriter = False lgo.EnableOOoCalc = True lgo.Delimiter = "::" For i=0 To 10 lgo.Out "Текст" & "::" & "для" & "::" & "вывода." lgo.Out "Текст для вывода." Next
Не требует библиотек. Pure WSH.
COM-сервер предоставляет возможности организации графического интерфейса путём конструирования произвольных окон средствами технологии HTA.
Создаёт окно и отображает его на экране. Способы использования и управления таким окном будут ясны из примера ниже. Метод возвращает объект "HTMLObjectElement", который предоставляет доступ к объектной модели HTML DOM окна HTA и позволяет осуществлять полный контроль над его содержимым и поведением. Вы можете использовать практически любые возможности технологии HTA, вставляя в это окно произвольную html-разметку, что открывает широчайшие возможности для организации графических интерфейсов. Если произошла ошибка, метод возвращает Nothing.
Параметр Params является словарём "Scripting.Dictionary", в котором передаются параметры тега "HTA:APPLICATION", которые определяют вид и функциональные возможности окна (см. пример ниже).
Механизм работы метода: метод создаёт hta-файл во временном каталоге пользователя, запускает этот файл на исполнение, а затем удаляет его. Для установления связи с окном HTA используется объект WebBrowser, который внедряется в окно HTA с помощью html-тега "object".
Окно HTA обрабатывает нажатие Escape, по которому производится закрытие окна. Нажатие F5 (обновление) заблокировано. Окно HTA также содержит внедрённый объект "MSScriptControl", который позволяет при необходимости получить хэндл окна для организации, например, модального диалога выбора папки (см. пример ниже).
Вы можете назначить обработчик события выгрузки (закрытия) формы и обработчики любых событий любых элементов формы непосредственно в своём скрипте с помощью функции GetRef (см. пример ниже).
Пример:
Option Explicit Dim oDlg, oDict, oHTA, oBody Dim ok, val_1, val_2, val_3, strHTML, ExitDo '================================================================================================== Sub HTA_OnUnload ExitDo = True End Sub Sub CloseHTA oHTA.document.parentWindow.close End Sub Sub OK_HTA val_1 = oHTA.document.parentWindow.input_1.value val_2 = oHTA.document.parentWindow.input_2.value val_3 = oHTA.document.parentWindow.input_3.value oHTA.document.parentWindow.close ok = True End Sub Sub BrowseFolder Dim oFolder, oShellApp, oFSO Set oShellApp = CreateObject("Shell.Application") Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFolder = oShellApp.BrowseForFolder(oHTA.GetProperty("HWND"), "Выбор папки", 81, "") If Not oFolder Is Nothing Then If oFSO.FolderExists(oFolder.Self.Path) Then oHTA.document.parentWindow.input_3.value = oFolder.Self.Path End If End If End Sub '================================================================================================== Set oDlg = CreateObject("ScriptCodingInfo.DialogHTA") Set oDict = CreateObject("Scripting.Dictionary") oDict.Add "CONTEXTMENU", "no" oDict.Add "INNERBORDER", "no" oDict.Add "SCROLL", "no" oDict.Add "BORDER", "dialog" oDict.Add "BORDERSTYLE", "raised" oDict.Add "MAXIMIZEBUTTON", "no" oDict.Add "MINIMIZEBUTTON", "no" ok = False Set oHTA = oDlg.CreateDialog(oDict) If oHTA Is Nothing Then WScript.Echo "Не удалось получить связь с окном HTA." WScript.Quit End If ' назначаем обработчик события выгрузки (закрытия) формы oHTA.document.body.onunload = GetRef("HTA_OnUnload") ' задаём размеры формы oHTA.document.parentWindow.resizeTo 350, 320 ' задаём заголовок окна oHTA.document.title = "Заголовок диалога" ' получаем объет тела HTML-документа Set oBody = oHTA.document.getElementsByTagName("body")(0) ' задаём цвет фона oBody.bgcolor = "#E0E0E0" ' формируем строку HTML-кода strHTML = "" strHTML = strHTML & "<P>Введите текстовое значение:</P>" strHTML = strHTML & "<INPUT id=input_1 size=50>" strHTML = strHTML & "<P>Выберите файл:</P>" strHTML = strHTML & "<INPUT id=input_2 type=file size=37>" strHTML = strHTML & "<P>Выберите папку:</P>" strHTML = strHTML & "<INPUT id=input_3 size=37>" strHTML = strHTML & "<BUTTON id=bBrowse>Обзор...</BUTTON>" strHTML = strHTML & "<BR><BR>" strHTML = strHTML & "<BUTTON id=bOK> О'кей </BUTTON>" strHTML = strHTML & " " strHTML = strHTML & " " strHTML = strHTML & "<BUTTON id=bCancel>Отменить</BUTTON>" ' записываем HTML-код в тело документа oBody.innerHTML = strHTML ' назначение событий кнопкам oHTA.document.parentWindow.bOK.onclick = GetRef("OK_HTA") oHTA.document.parentWindow.bCancel.onclick = GetRef("CloseHTA") oHTA.document.parentWindow.bBrowse.onclick = GetRef("BrowseFolder") Do ' ожидание закрытия окна HTA WScript.Sleep 100 Loop Until ExitDo If ok Then WScript.Echo "Введено текстовое значение: " & val_1 WScript.Echo "Выбран файл: " & val_2 WScript.Echo "Выбрана папка: " & val_3 Else WScript.Echo "Окно HTA было закрыто кнопкой ""Отменить""." End If
Не требует библиотек. Pure WSH.
COM-сервер предоставляет возможности для работы с сетью.
Метод возвращает массив с именами компьютеров, как они видны в папке "Сетевое окружение". Имена компьютеров возвращаются в формате "ИмяКомпьютера.ИмяДоменаИлиРабочейГруппы". Если параметр domain задан (строка), возвращаются имена компьютеров только из этого домена или рабочей группы. Пример:
Set ntw = CreateObject("ScriptCodingInfo.Network") For Each comp In ntw.GetComputers() WScript.Echo comp WScript.Echo Split(comp, ".")(0) ' имя компьютера WScript.Echo Split(comp, ".")(1) ' имя домена или рабочей группы WScript.Echo Next
Не требует библиотек. Pure WSH.
COM-сервер предоставляет возможности для хранения строковых значений между сессиями скрипта для текущего пользователя Windows. Данный механизм также может использоваться для передачи данных между скрипт-процессами.
Сами значения хранятся во временных файлах в каталоге %APPDATA%\ScriptCodingInfo\. Имена значений хранятся в реестре, в разделе HKEY_CURRENT_USER\Software\ScriptCodingInfo.Settings\.
Пример остановки одного скрипта с помощью другого. Останавливающий скрипт:
Set sett = CreateObject("ScriptCodingInfo.Settings") sett.SaveSetting "signal", "stop"
Останавливаемый скрипт:
Set sett = WScript.CreateObject("ScriptCodingInfo.Settings", "SCI_") Do WScript.Echo "Ожидание..." WScript.Sleep 1000 Signal = sett.GetSetting("signal") Loop Until Not IsNull(Signal) sett.DeleteSetting "signal" WScript.Echo "Получен сигнал остановки." WScript.Quit Sub SCI_OnError() WScript.Echo sett.LastErrorInfo End Sub
Метод сохраняет значение Value под именем Name. Пример:
Set sett = CreateObject("ScriptCodingInfo.Settings") sett.SaveSetting "myvalue", "test" WScript.Echo sett.GetSetting("MYVALUE") sett.DeleteSetting "myValue"
Метод возвращает значение под именем Name. Пример - см. выше в описании метода SaveSetting.
Метод удаляет значение под именем Name. Пример - см. выше в описании метода SaveSetting.
Первая версия.
Объект "ScriptCodingInfo.FileSystem" версии 0.005 с методами CreateDirs, ClearFolder, WalkFolders и WalkFiles.
Объект "ScriptCodingInfo.Win32API" версии 0.004 с обёртками идентификаторов оконных сообщений, Beep, GetForegroundWindow, SendMessage и методом GetTitleForegroundWindow.
Свойства Version, LastErrorSource, LastErrorDescription, LastErrorNumber, LastErrorMethod, LastErrorReason, LastErrorInfo и событие onError у обоих объектов.
Скачать (7 120 байт).
Объект "ScriptCodingInfo.FileSystem" версии 0.006. Добавлен метод WalkFilesEx.
Объект "ScriptCodingInfo.Win32API" версии 0.005. Обёртка SendMessage удалена в виду несостоятельности её реализации на данный момент. Метод GetTitleForegroundWindow переписан на JScript, обойдена проблема невозможности получения достаточно длинных заголовков окон.
Скачать (7 397 байт).
Объект "ScriptCodingInfo.FileSystem" версии 0.007. Добавлен метод WalkFoldersEx, косметические изменения в коде.
Объект "ScriptCodingInfo.Win32API" версии 0.006. Косметические изменения в коде.
Добавлен объект "ScriptCodingInfo.Text" версии 0.001 с методом FormatDateTimeForFilename.
Скачать (8 158 байт).
Объект "ScriptCodingInfo.FileSystem" версии 0.008. Добавлен метод EmptyFolders.
Добавлен объект "ScriptCodingInfo.Translator" версии 0.001 со свойством WScript и методами AddEvent и RemoveEvent.
Скачать (9 341 байт).
Добавлен объект "ScriptCodingInfo.ConsoleCommands" версии 0.001 с методами RunCommand, GetIPAddress и IsAlive.
Скачать (10 603 байт).
Добавлен объект "ScriptCodingInfo.BinaryFile" версии 0.001 с методами BinCode, FileCodePage, StrCodePage и FilePatch.
Скачать (11 554 байт).
Объект "ScriptCodingInfo.Win32API" версии 0.007, "ScriptCodingInfo.Translator" версии 0.002, "ScriptCodingInfo.ConsoleCommands" версии 0.002, "ScriptCodingInfo.BinaryFile" версии 0.002. Косметические изменения в коде.
Объект "ScriptCodingInfo.FileSystem" версии 0.009. Добавлен метод CompareFolders.
Скачать (12 776 байт).
Объект "ScriptCodingInfo.Text" версии 0.002. Добавлен метод DiffTextFiles.
Скачать (13 193 байт).
Объект "ScriptCodingInfo.Text" версии 0.003. Исправлены ошибки в методе DiffTextFiles, иногда приводившие к блокированию файлов после завершения работы метода.
Скачать (13 225 байт).
Объект "ScriptCodingInfo.Text" версии 0.004. В метод DiffTextFiles добавлен четвёртый параметр.
Скачать (13 387 байт).
Добавлен объект "ScriptCodingInfo.LogOut" версии 0.001 со свойствами EnableEcho, EnableFileOut, EnableLogEvent, EnableIE, IncludeDateTime, WScript, LogFilePath, EventType, EventTarget, ScrollIE и методами ClearLogFile, Out.
Скачать (15 139 байт).
Объект "ScriptCodingInfo.Text" версии 0.005. Добавлен метод DiffTextFiles2.
Скачать (15 781 байт).
Объект "ScriptCodingInfo.LogOut" версии 0.002. Добавлены свойства EnableMSWord, EnableMSExcel, Delimiter и возможность вывода в окно документа MS Word, MS Excel.
Скачать (16 324 байт).
Объект "ScriptCodingInfo.LogOut" версии 0.003. Добавлены свойства EnableOOoWriter, EnableOOoCalc и возможность вывода в окно документа OOo Writer, OOo Calc.
Скачать (16 779 байт).
Добавлен объект "ScriptCodingInfo.DialogHTA" версии 0.001 с методом CreateDialog.
Скачать (18 627 байт).
Добавлен объект "ScriptCodingInfo.Network" версии 0.001 с методом GetComputers.
Скачать (18 907 байт).
Добавлен объект "ScriptCodingInfo.Settings" версии 0.001 с методами SaveSetting, GetSetting и DeleteSetting.
Объект "ScriptCodingInfo.Win32API" версии 0.008. Добавлен метод GetScreenResolution.
Скачать (19 862 байт).
Объект "ScriptCodingInfo.FileSystem" версии 0.010. Добавлен метод FindFile.
Скачать (20 428 байт).
Людоговский Александр
Перейти на главную страничку сайта (список статей, файлы для скачивания)
© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.