├── .gitignore ├── README.md ├── api-docs ├── README.md ├── README.ru.md └── classes │ └── bundle │ └── windows │ ├── COM.md │ ├── COM.ru.md │ ├── Lan.md │ ├── Lan.ru.md │ ├── Metadata.md │ ├── Metadata.ru.md │ ├── Prepare.md │ ├── Prepare.ru.md │ ├── Registry.md │ ├── Registry.ru.md │ ├── Startup.md │ ├── Startup.ru.md │ ├── Task.md │ ├── Task.ru.md │ ├── Windows.md │ ├── Windows.ru.md │ ├── WindowsException.md │ ├── WindowsException.ru.md │ ├── WindowsScriptHost.md │ ├── WindowsScriptHost.ru.md │ ├── Wlan.md │ ├── Wlan.ru.md │ └── result │ ├── abstractItem.md │ ├── abstractItem.ru.md │ ├── abstractResult.md │ ├── abstractResult.ru.md │ ├── comItem.md │ ├── comItem.ru.md │ ├── lanAdapter.md │ ├── lanAdapter.ru.md │ ├── registryItem.md │ ├── registryItem.ru.md │ ├── registryResult.md │ ├── registryResult.ru.md │ ├── startupItem.md │ ├── startupItem.ru.md │ ├── taskItem.md │ ├── taskItem.ru.md │ ├── taskResult.md │ ├── taskResult.ru.md │ ├── wlanInterface.md │ ├── wlanInterface.ru.md │ ├── wshResult.md │ └── wshResult.ru.md ├── package.php.yml ├── settings.gradle ├── src-bundle ├── .data │ └── img │ │ └── develnext │ │ └── bundle │ │ └── windows │ │ └── windows32.png ├── develnext │ └── bundle │ │ └── windows │ │ ├── WindowsBundle.php │ │ └── description.html └── vendor │ └── develnext.bundle.windows.WindowsBundle │ └── .packages │ └── windows.pkg └── src └── bundle └── windows ├── COM.php ├── Lan.php ├── Metadata.php ├── Prepare.php ├── Registry.php ├── Startup.php ├── Task.php ├── Windows.php ├── WindowsException.php ├── WindowsScriptHost.php ├── Wlan.php ├── api ├── CSharp.php └── Dll.php └── result ├── abstractItem.php ├── abstractResult.php ├── comItem.php ├── lanAdapter.php ├── registryItem.php ├── registryResult.php ├── startupItem.php ├── taskItem.php ├── taskResult.php ├── wlanInterface.php └── wshResult.php /.gitignore: -------------------------------------------------------------------------------- 1 | /build/ 2 | /bundle/ 3 | /.idea 4 | /.gradle/ 5 | /gradle/ 6 | /gradlew 7 | /gradlew.* 8 | 9 | /*.phpintel 10 | 11 | /package.hub.yml 12 | /package-lock.php.yml 13 | /vendor/* -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [ 2 | ![logo](https://tssaltan.top/files/2016/10/windows-bundle.png) 3 | ](https://tssaltan.top/1156.develnext-windows) 4 | 5 | - [**JPPM api-docs**](api-docs/README.md) 6 | - [**Wiki**](https://github.com/TsSaltan/jphp-windows-ext/wiki/) 7 | - [**Пакет расширений для DevelNext**](https://github.com/TsSaltan/jphp-windows-ext/releases) 8 | 9 | ## Changelog 10 | ``` 11 | --- 2.1.1 --- 12 | [Add] Windows::getSystemDrive() 13 | Migrate to jppm 14 | 15 | --- 2.1 --- 16 | [Add] Windows::reboot() 17 | [Add] Windows::shutdown() 18 | [Add] Windows::pressKey() 19 | [Add] Windows::getKeyboardLayoutName() 20 | [Add] Windows::getKeyboardLayout() 21 | 22 | --- 1.3 --- 23 | [Add] Windows::runAsAdmin() 24 | [Add] Windows::requireAdmin() 25 | [Add] Windows::setDate() 26 | [Add] Windows::setTime() 27 | [Add] Windows::getUsers() 28 | [Fix] Startup::getList() - Возвращает элементы автозагрузки для всех пользователей, а не только для текущего 29 | [Fix] Мелкие исправления 30 | 31 | --- 1.2 --- 32 | [Add] Class COM 33 | [Add] Windows::getTemperature() 34 | [Fix] Bug fixes 35 | 36 | --- 1.1 --- 37 | [Change] Создана подробная документация 38 | [Change] Disable WMIC cache 39 | [Add] Windows::getBatteryTimeRemaining() 40 | [Add] Windows::getBatteryPercent() 41 | [Add] Windows::getBatteryVoltage() 42 | [Add] Windows::isBatteryCharging() 43 | [Add] Windows::setBrightnessLevel() 44 | [Add] Windows::getBrightnessLevel() 45 | [Add] Windows::setVolumeLevel() 46 | [Add] Windows::getVolumeLevel() 47 | [Add] Windows::setMute() 48 | [Add] Windows::getMute() 49 | [Add] Windows::getRAM() 50 | [Add] Windows::getTotalRAM() 51 | [Add] Windows::getBIOS() 52 | [Add] Windows::getPrinter() 53 | 54 | --- 1.0 --- 55 | [Change] Изменена функция обращения к системному API 56 | [Change] Функции для работы с реестром (regRead, regSub, regDelete, regAdd) перемещены в отдельный класс Registry 57 | [Change] Функции для работы с автозапуском (startupAdd, startupDelete, startupCheck, startupGet) перемещены в отдельный класс Startup 58 | [Change] Функции для работы с процессами (getTaskList, taskKill, taskExists) перемещены в отдельный класс Task 59 | [Fix] Windows::getDriveSerial() возвращал некорректное значение 60 | [Add] Работа с lnk ярлыками Windows::createShortcut(), Windows::getShortcutTarget() 61 | [Del] Удалены из ресурсов все скрипты и сторонние утилиты 62 | [Del] Windows::getProductKey() - работала не на всех системах 63 | [Del] Windows::setVolume() - работала не на всех системах 64 | [Del] Windows::setBrightness() - работала не на всех системах 65 | [Del] Windows::getInstalledSoftware() 66 | [Del] Windows::emptyBin() 67 | [Del] Windows::scanNetwork() 68 | [Del] Windows::getInstallTime() 69 | [Del] WindowsScriptHost::jScript() 70 | 71 | --- 0.5 --- 72 | [Change] Модуль переделан в пакет расширений 73 | [Add] Встроена утилита nircmd, что позволило расширить функционал 74 | [Add] Windows::getArch() 75 | [Add] Windows::scanNetwork() 76 | [Add] Windows::expandEnv() 77 | [Add] Windows::setVolume() 78 | [Add] Windows::setBrightness() 79 | [Add] Windows::emptyBin() 80 | [Add] Windows::speak() 81 | 82 | --- 0.4.0.3 --- 83 | [Fix] Windows::regRead(); 84 | 85 | --- 0.4.0.2 --- 86 | [Add] Windows::getAdmin(); 87 | [Fix] Windows::getMAC(); 88 | ``` 89 | 90 | ## Install package via jppm 91 | ``` 92 | jppm add windows@git+https://github.com/TsSaltan/jphp-windows-ext 93 | ``` 94 | 95 | ## Build bundle 96 | ``` 97 | jppm bundle:build 98 | ``` -------------------------------------------------------------------------------- /api-docs/README.md: -------------------------------------------------------------------------------- 1 | #### **English** / [Русский](README.ru.md) 2 | 3 | --- 4 | 5 | ## windows 6 | > version 2.1.1, created by JPPM. 7 | 8 | Пакет для взаимодействия с API Windows 9 | 10 | ### Install 11 | ``` 12 | jppm add windows@git+https://github.com/TsSaltan/jphp-windows-ext 13 | ``` 14 | 15 | ### API 16 | **Classes** 17 | 18 | #### `bundle\windows` 19 | 20 | - [`COM`](classes/bundle/windows/COM.md)- _Класс для работы с COM-портами_ 21 | - [`Lan`](classes/bundle/windows/Lan.md)- _Local Area Network_ 22 | - [`Metadata`](classes/bundle/windows/Metadata.md) 23 | - [`Prepare`](classes/bundle/windows/Prepare.md)- _Класс позволяет создавать подготовленные запросы (как в PDO)._ 24 | - [`Registry`](classes/bundle/windows/Registry.md)- _Класс для работы с реестром Windows_ 25 | - [`Startup`](classes/bundle/windows/Startup.md)- _Класс содержит функции для работы с автозапуском_ 26 | - [`Task`](classes/bundle/windows/Task.md) 27 | - [`Windows`](classes/bundle/windows/Windows.md) 28 | - [`WindowsException`](classes/bundle/windows/WindowsException.md)- _Класс исключения, выбрасываемого функциями пакета Windows_ 29 | - [`WindowsScriptHost`](classes/bundle/windows/WindowsScriptHost.md)- _Методы класса позволяют вызывать функции API Windows, выполнять системные скрипты_ 30 | - [`Wlan`](classes/bundle/windows/Wlan.md)- _Wireless lan_ 31 | 32 | #### `bundle\windows\result` 33 | 34 | - [`abstractItem`](classes/bundle/windows/result/abstractItem.md) 35 | - [`abstractResult`](classes/bundle/windows/result/abstractResult.md) 36 | - [`comItem`](classes/bundle/windows/result/comItem.md) 37 | - [`lanAdapter`](classes/bundle/windows/result/lanAdapter.md) 38 | - [`registryItem`](classes/bundle/windows/result/registryItem.md) 39 | - [`registryResult`](classes/bundle/windows/result/registryResult.md) 40 | - [`startupItem`](classes/bundle/windows/result/startupItem.md) 41 | - [`taskItem`](classes/bundle/windows/result/taskItem.md)- _Экземпляр данного класса содержит информацию об одном процессе_ 42 | - [`taskResult`](classes/bundle/windows/result/taskResult.md)- _Экземпляр класса содержит список процессов, который был сформирован в одном из методов класса Task_ 43 | - [`wlanInterface`](classes/bundle/windows/result/wlanInterface.md) 44 | - [`wshResult`](classes/bundle/windows/result/wshResult.md) -------------------------------------------------------------------------------- /api-docs/README.ru.md: -------------------------------------------------------------------------------- 1 | #### [English](README.md) / **Русский** 2 | 3 | --- 4 | 5 | ## windows 6 | > версия 2.1.1, создано с помощью JPPM. 7 | 8 | Пакет для взаимодействия с API Windows 9 | 10 | ### Установка 11 | ``` 12 | jppm add windows@https://github.com/TsSaltan/jphp-windows-ext 13 | ``` 14 | 15 | ### АПИ 16 | **Классы** 17 | 18 | #### `bundle\windows` 19 | 20 | - [`COM`](classes/bundle/windows/COM.ru.md)- _Класс для работы с COM-портами_ 21 | - [`Lan`](classes/bundle/windows/Lan.ru.md)- _Local Area Network_ 22 | - [`Metadata`](classes/bundle/windows/Metadata.ru.md) 23 | - [`Prepare`](classes/bundle/windows/Prepare.ru.md)- _Класс позволяет создавать подготовленные запросы (как в PDO)._ 24 | - [`Registry`](classes/bundle/windows/Registry.ru.md)- _Класс для работы с реестром Windows_ 25 | - [`Startup`](classes/bundle/windows/Startup.ru.md)- _Класс содержит функции для работы с автозапуском_ 26 | - [`Task`](classes/bundle/windows/Task.ru.md) 27 | - [`Windows`](classes/bundle/windows/Windows.ru.md) 28 | - [`WindowsException`](classes/bundle/windows/WindowsException.ru.md)- _Класс исключения, выбрасываемого функциями пакета Windows_ 29 | - [`WindowsScriptHost`](classes/bundle/windows/WindowsScriptHost.ru.md)- _Методы класса позволяют вызывать функции API Windows, выполнять системные скрипты_ 30 | - [`Wlan`](classes/bundle/windows/Wlan.ru.md)- _Wireless lan_ 31 | 32 | #### `bundle\windows\result` 33 | 34 | - [`abstractItem`](classes/bundle/windows/result/abstractItem.ru.md) 35 | - [`abstractResult`](classes/bundle/windows/result/abstractResult.ru.md) 36 | - [`comItem`](classes/bundle/windows/result/comItem.ru.md) 37 | - [`lanAdapter`](classes/bundle/windows/result/lanAdapter.ru.md) 38 | - [`registryItem`](classes/bundle/windows/result/registryItem.ru.md) 39 | - [`registryResult`](classes/bundle/windows/result/registryResult.ru.md) 40 | - [`startupItem`](classes/bundle/windows/result/startupItem.ru.md) 41 | - [`taskItem`](classes/bundle/windows/result/taskItem.ru.md)- _Экземпляр данного класса содержит информацию об одном процессе_ 42 | - [`taskResult`](classes/bundle/windows/result/taskResult.ru.md)- _Экземпляр класса содержит список процессов, который был сформирован в одном из методов класса Task_ 43 | - [`wlanInterface`](classes/bundle/windows/result/wlanInterface.ru.md) 44 | - [`wshResult`](classes/bundle/windows/result/wshResult.ru.md) -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/COM.md: -------------------------------------------------------------------------------- 1 | # COM 2 | 3 | - **class** `COM` (`bundle\windows\COM`) 4 | - **package** `windows` 5 | - **source** `bundle/windows/COM.php` 6 | 7 | **Description** 8 | 9 | Класс для работы с COM-портами 10 | 11 | --- 12 | 13 | #### Static Methods 14 | 15 | - `COM ::`[`getList()`](#method-getlist) - _Получить список портов_ 16 | - `COM ::`[`getParams()`](#method-getparams) - _Получить список параметров порта_ 17 | - `COM ::`[`searchDevice()`](#method-searchdevice) - _Ищет устройство по имени_ 18 | 19 | --- 20 | # Static Methods 21 | 22 | 23 | 24 | ### getList() 25 | ```php 26 | COM::getList(): comItem[] 27 | ``` 28 | Получить список портов 29 | 30 | --- 31 | 32 | 33 | 34 | ### getParams() 35 | ```php 36 | COM::getParams(string $port): array 37 | ``` 38 | Получить список параметров порта 39 | 40 | --- 41 | 42 | 43 | 44 | ### searchDevice() 45 | ```php 46 | COM::searchDevice(string $search, mixed $searchFields): comItem[] 47 | ``` 48 | Ищет устройство по имени -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/COM.ru.md: -------------------------------------------------------------------------------- 1 | # COM 2 | 3 | - **класс** `COM` (`bundle\windows\COM`) 4 | - **пакет** `windows` 5 | - **исходники** `bundle/windows/COM.php` 6 | 7 | **Описание** 8 | 9 | Класс для работы с COM-портами 10 | 11 | --- 12 | 13 | #### Статичные Методы 14 | 15 | - `COM ::`[`getList()`](#method-getlist) - _Получить список портов_ 16 | - `COM ::`[`getParams()`](#method-getparams) - _Получить список параметров порта_ 17 | - `COM ::`[`searchDevice()`](#method-searchdevice) - _Ищет устройство по имени_ 18 | 19 | --- 20 | # Статичные Методы 21 | 22 | 23 | 24 | ### getList() 25 | ```php 26 | COM::getList(): comItem[] 27 | ``` 28 | Получить список портов 29 | 30 | --- 31 | 32 | 33 | 34 | ### getParams() 35 | ```php 36 | COM::getParams(string $port): array 37 | ``` 38 | Получить список параметров порта 39 | 40 | --- 41 | 42 | 43 | 44 | ### searchDevice() 45 | ```php 46 | COM::searchDevice(string $search, mixed $searchFields): comItem[] 47 | ``` 48 | Ищет устройство по имени -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Lan.md: -------------------------------------------------------------------------------- 1 | # Lan 2 | 3 | - **class** `Lan` (`bundle\windows\Lan`) 4 | - **package** `windows` 5 | - **source** `bundle/windows/Lan.php` 6 | 7 | **Description** 8 | 9 | Local Area Network 10 | 11 | --- 12 | 13 | #### Static Methods 14 | 15 | - `Lan ::`[`getAdapters()`](#method-getadapters) - _Получить список адаптеров_ 16 | - `Lan ::`[`getActiveAdapter()`](#method-getactiveadapter) - _Получить используемый по умолчанию адаптер_ 17 | - `Lan ::`[`isSupported()`](#method-issupported) - _Есть ли оборудование для работы с проводными сетями_ 18 | 19 | --- 20 | # Static Methods 21 | 22 | 23 | 24 | ### getAdapters() 25 | ```php 26 | Lan::getAdapters(): array 27 | ``` 28 | Получить список адаптеров 29 | 30 | --- 31 | 32 | 33 | 34 | ### getActiveAdapter() 35 | ```php 36 | Lan::getActiveAdapter(): bundle\windows\result\lanAdapter 37 | ``` 38 | Получить используемый по умолчанию адаптер 39 | 40 | --- 41 | 42 | 43 | 44 | ### isSupported() 45 | ```php 46 | Lan::isSupported(): boolean 47 | ``` 48 | Есть ли оборудование для работы с проводными сетями -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Lan.ru.md: -------------------------------------------------------------------------------- 1 | # Lan 2 | 3 | - **класс** `Lan` (`bundle\windows\Lan`) 4 | - **пакет** `windows` 5 | - **исходники** `bundle/windows/Lan.php` 6 | 7 | **Описание** 8 | 9 | Local Area Network 10 | 11 | --- 12 | 13 | #### Статичные Методы 14 | 15 | - `Lan ::`[`getAdapters()`](#method-getadapters) - _Получить список адаптеров_ 16 | - `Lan ::`[`getActiveAdapter()`](#method-getactiveadapter) - _Получить используемый по умолчанию адаптер_ 17 | - `Lan ::`[`isSupported()`](#method-issupported) - _Есть ли оборудование для работы с проводными сетями_ 18 | 19 | --- 20 | # Статичные Методы 21 | 22 | 23 | 24 | ### getAdapters() 25 | ```php 26 | Lan::getAdapters(): array 27 | ``` 28 | Получить список адаптеров 29 | 30 | --- 31 | 32 | 33 | 34 | ### getActiveAdapter() 35 | ```php 36 | Lan::getActiveAdapter(): bundle\windows\result\lanAdapter 37 | ``` 38 | Получить используемый по умолчанию адаптер 39 | 40 | --- 41 | 42 | 43 | 44 | ### isSupported() 45 | ```php 46 | Lan::isSupported(): boolean 47 | ``` 48 | Есть ли оборудование для работы с проводными сетями -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Metadata.md: -------------------------------------------------------------------------------- 1 | # Metadata 2 | 3 | - **class** `Metadata` (`bundle\windows\Metadata`) 4 | - **package** `windows` 5 | - **source** `bundle/windows/Metadata.php` 6 | 7 | --- 8 | 9 | #### Properties 10 | 11 | - `->`[`file`](#prop-file) : `File` 12 | - `->`[`data`](#prop-data) : `array` 13 | - `->`[`keys`](#prop-keys) : `array` 14 | 15 | --- 16 | 17 | #### Methods 18 | 19 | - `->`[`__construct()`](#method-__construct) 20 | - `->`[`readData()`](#method-readdata) 21 | - `->`[`parse()`](#method-parse) 22 | 23 | --- 24 | # Methods 25 | 26 | 27 | 28 | ### __construct() 29 | ```php 30 | __construct(File|string $file): void 31 | ``` 32 | 33 | --- 34 | 35 | 36 | 37 | ### readData() 38 | ```php 39 | readData(): void 40 | ``` 41 | 42 | --- 43 | 44 | 45 | 46 | ### parse() 47 | ```php 48 | parse(mixed $data): void 49 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Metadata.ru.md: -------------------------------------------------------------------------------- 1 | # Metadata 2 | 3 | - **класс** `Metadata` (`bundle\windows\Metadata`) 4 | - **пакет** `windows` 5 | - **исходники** `bundle/windows/Metadata.php` 6 | 7 | --- 8 | 9 | #### Свойства 10 | 11 | - `->`[`file`](#prop-file) : `File` 12 | - `->`[`data`](#prop-data) : `array` 13 | - `->`[`keys`](#prop-keys) : `array` 14 | 15 | --- 16 | 17 | #### Методы 18 | 19 | - `->`[`__construct()`](#method-__construct) 20 | - `->`[`readData()`](#method-readdata) 21 | - `->`[`parse()`](#method-parse) 22 | 23 | --- 24 | # Методы 25 | 26 | 27 | 28 | ### __construct() 29 | ```php 30 | __construct(File|string $file): void 31 | ``` 32 | 33 | --- 34 | 35 | 36 | 37 | ### readData() 38 | ```php 39 | readData(): void 40 | ``` 41 | 42 | --- 43 | 44 | 45 | 46 | ### parse() 47 | ```php 48 | parse(mixed $data): void 49 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Prepare.md: -------------------------------------------------------------------------------- 1 | # Prepare 2 | 3 | - **class** `Prepare` (`bundle\windows\Prepare`) 4 | - **source** `bundle/windows/Prepare.php` 5 | 6 | **Description** 7 | 8 | Класс позволяет создавать подготовленные запросы (как в PDO). 9 | Далее подготовленные запросы будут использоваться в запросах к API Windows 10 | 11 | --- 12 | 13 | #### Properties 14 | 15 | - `->`[`source`](#prop-source) : `mixed` 16 | - `->`[`vars`](#prop-vars) : `mixed` 17 | - `->`[`safeQuery`](#prop-safequery) : `mixed` 18 | - `->`[`addStringQuotes`](#prop-addstringquotes) : `boolean` - _Обрамлять переменную кавычками_ 19 | - `->`[`quotesPolicy`](#prop-quotespolicy) : `int` - _Режим управления кавычками 20 | 0 - ничего не делаем 21 | 1 - кавычки экранируются \" 22 | 2 - кавычки экранируются ""_ 23 | - `->`[`replaceEmpty`](#prop-replaceempty) : `boolean` - _Заменить отсутствующие переменные на NULL_ 24 | 25 | --- 26 | 27 | #### Static Methods 28 | 29 | - `Prepare ::`[`Query()`](#method-query) 30 | 31 | --- 32 | 33 | #### Methods 34 | 35 | - `->`[`__construct()`](#method-__construct) 36 | - `->`[`bindAll()`](#method-bindall) 37 | - `->`[`bind()`](#method-bind) 38 | - `->`[`getQuery()`](#method-getquery) 39 | 40 | --- 41 | # Static Methods 42 | 43 | 44 | 45 | ### Query() 46 | ```php 47 | Prepare::Query(mixed $query, mixed $params): void 48 | ``` 49 | 50 | --- 51 | # Methods 52 | 53 | 54 | 55 | ### __construct() 56 | ```php 57 | __construct(mixed $query): void 58 | ``` 59 | 60 | --- 61 | 62 | 63 | 64 | ### bindAll() 65 | ```php 66 | bindAll(array $bindParams): void 67 | ``` 68 | 69 | --- 70 | 71 | 72 | 73 | ### bind() 74 | ```php 75 | bind(mixed $key, mixed $value, mixed $type): void 76 | ``` 77 | 78 | --- 79 | 80 | 81 | 82 | ### getQuery() 83 | ```php 84 | getQuery(mixed $bindParams): void 85 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Prepare.ru.md: -------------------------------------------------------------------------------- 1 | # Prepare 2 | 3 | - **класс** `Prepare` (`bundle\windows\Prepare`) 4 | - **исходники** `bundle/windows/Prepare.php` 5 | 6 | **Описание** 7 | 8 | Класс позволяет создавать подготовленные запросы (как в PDO). 9 | Далее подготовленные запросы будут использоваться в запросах к API Windows 10 | 11 | --- 12 | 13 | #### Свойства 14 | 15 | - `->`[`source`](#prop-source) : `mixed` 16 | - `->`[`vars`](#prop-vars) : `mixed` 17 | - `->`[`safeQuery`](#prop-safequery) : `mixed` 18 | - `->`[`addStringQuotes`](#prop-addstringquotes) : `boolean` - _Обрамлять переменную кавычками_ 19 | - `->`[`quotesPolicy`](#prop-quotespolicy) : `int` - _Режим управления кавычками 20 | 0 - ничего не делаем 21 | 1 - кавычки экранируются \" 22 | 2 - кавычки экранируются ""_ 23 | - `->`[`replaceEmpty`](#prop-replaceempty) : `boolean` - _Заменить отсутствующие переменные на NULL_ 24 | 25 | --- 26 | 27 | #### Статичные Методы 28 | 29 | - `Prepare ::`[`Query()`](#method-query) 30 | 31 | --- 32 | 33 | #### Методы 34 | 35 | - `->`[`__construct()`](#method-__construct) 36 | - `->`[`bindAll()`](#method-bindall) 37 | - `->`[`bind()`](#method-bind) 38 | - `->`[`getQuery()`](#method-getquery) 39 | 40 | --- 41 | # Статичные Методы 42 | 43 | 44 | 45 | ### Query() 46 | ```php 47 | Prepare::Query(mixed $query, mixed $params): void 48 | ``` 49 | 50 | --- 51 | # Методы 52 | 53 | 54 | 55 | ### __construct() 56 | ```php 57 | __construct(mixed $query): void 58 | ``` 59 | 60 | --- 61 | 62 | 63 | 64 | ### bindAll() 65 | ```php 66 | bindAll(array $bindParams): void 67 | ``` 68 | 69 | --- 70 | 71 | 72 | 73 | ### bind() 74 | ```php 75 | bind(mixed $key, mixed $value, mixed $type): void 76 | ``` 77 | 78 | --- 79 | 80 | 81 | 82 | ### getQuery() 83 | ```php 84 | getQuery(mixed $bindParams): void 85 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Registry.md: -------------------------------------------------------------------------------- 1 | # Registry 2 | 3 | - **class** `Registry` (`bundle\windows\Registry`) 4 | - **package** `windows` 5 | - **source** `bundle/windows/Registry.php` 6 | 7 | **Description** 8 | 9 | Класс для работы с реестром Windows 10 | 11 | --- 12 | 13 | #### Properties 14 | 15 | - `->`[`path`](#prop-path) : `string` - _Путь к разделу реестра_ 16 | 17 | --- 18 | 19 | #### Static Methods 20 | 21 | - `Registry ::`[`of()`](#method-of) - _Alias __construct_ 22 | - `Registry ::`[`HKCR()`](#method-hkcr) - _HKEY_CLASSES_ROOT_ 23 | - `Registry ::`[`HKCU()`](#method-hkcu) - _HKEY_CURRENT_USER_ 24 | - `Registry ::`[`HKLM()`](#method-hklm) - _HKEY_LOCAL_MACHINE_ 25 | - `Registry ::`[`HKU()`](#method-hku) - _HKEY_USERS_ 26 | - `Registry ::`[`HKCC()`](#method-hkcc) - _HKEY_CURRENT_CONFIG_ 27 | 28 | --- 29 | 30 | #### Methods 31 | 32 | - `->`[`__construct()`](#method-__construct) 33 | - `->`[`readFully()`](#method-readfully) - _Полное чтение содержимого раздела (ключ, значения, подразделы)_ 34 | - `->`[`read()`](#method-read) - _Чтение ключа_ 35 | - `->`[`add()`](#method-add) - _Добавить новый параметр в реестр_ 36 | - `->`[`create()`](#method-create) - _Создать раздел реестра_ 37 | - `->`[`delete()`](#method-delete) - _Удалить раздел реестра_ 38 | - `->`[`clear()`](#method-clear) - _Удалить содержимое раздела_ 39 | - `->`[`deleteKey()`](#method-deletekey) - _Удалить ключ из реестра_ 40 | - `->`[`search()`](#method-search) - _Поиск по ключам и разделам_ 41 | - `->`[`searchValue()`](#method-searchvalue) - _Поиск по значениям_ 42 | - `->`[`parseAnswer()`](#method-parseanswer) 43 | - `->`[`query()`](#method-query) 44 | 45 | --- 46 | # Static Methods 47 | 48 | 49 | 50 | ### of() 51 | ```php 52 | Registry::of(mixed $path): Registry 53 | ``` 54 | Alias __construct 55 | 56 | --- 57 | 58 | 59 | 60 | ### HKCR() 61 | ```php 62 | Registry::HKCR(): Registry 63 | ``` 64 | HKEY_CLASSES_ROOT 65 | 66 | --- 67 | 68 | 69 | 70 | ### HKCU() 71 | ```php 72 | Registry::HKCU(): Registry 73 | ``` 74 | HKEY_CURRENT_USER 75 | 76 | --- 77 | 78 | 79 | 80 | ### HKLM() 81 | ```php 82 | Registry::HKLM(): Registry 83 | ``` 84 | HKEY_LOCAL_MACHINE 85 | 86 | --- 87 | 88 | 89 | 90 | ### HKU() 91 | ```php 92 | Registry::HKU(): Registry 93 | ``` 94 | HKEY_USERS 95 | 96 | --- 97 | 98 | 99 | 100 | ### HKCC() 101 | ```php 102 | Registry::HKCC(): Registry 103 | ``` 104 | HKEY_CURRENT_CONFIG 105 | 106 | --- 107 | # Methods 108 | 109 | 110 | 111 | ### __construct() 112 | ```php 113 | __construct(string $path): void 114 | ``` 115 | 116 | --- 117 | 118 | 119 | 120 | ### readFully() 121 | ```php 122 | readFully(mixed $recursive): registryResult[] 123 | ``` 124 | Полное чтение содержимого раздела (ключ, значения, подразделы) 125 | 126 | --- 127 | 128 | 129 | 130 | ### read() 131 | ```php 132 | read(string $key): registryItem 133 | ``` 134 | Чтение ключа 135 | 136 | --- 137 | 138 | 139 | 140 | ### add() 141 | ```php 142 | add(string $key, string $value, string $type): void 143 | ``` 144 | Добавить новый параметр в реестр 145 | 146 | --- 147 | 148 | 149 | 150 | ### create() 151 | ```php 152 | create(): void 153 | ``` 154 | Создать раздел реестра 155 | 156 | --- 157 | 158 | 159 | 160 | ### delete() 161 | ```php 162 | delete(): void 163 | ``` 164 | Удалить раздел реестра 165 | 166 | --- 167 | 168 | 169 | 170 | ### clear() 171 | ```php 172 | clear(): void 173 | ``` 174 | Удалить содержимое раздела 175 | 176 | --- 177 | 178 | 179 | 180 | ### deleteKey() 181 | ```php 182 | deleteKey(string $key): void 183 | ``` 184 | Удалить ключ из реестра 185 | 186 | --- 187 | 188 | 189 | 190 | ### search() 191 | ```php 192 | search(string $search, mixed $recursive, mixed $fullEqual): registryResult[] 193 | ``` 194 | Поиск по ключам и разделам 195 | 196 | --- 197 | 198 | 199 | 200 | ### searchValue() 201 | ```php 202 | searchValue(string $search, mixed $recursive, mixed $fullEqual): registryResult[] 203 | ``` 204 | Поиск по значениям 205 | 206 | --- 207 | 208 | 209 | 210 | ### parseAnswer() 211 | ```php 212 | parseAnswer(mixed $answer): void 213 | ``` 214 | 215 | --- 216 | 217 | 218 | 219 | ### query() 220 | ```php 221 | query(string $command, array $vars): void 222 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Registry.ru.md: -------------------------------------------------------------------------------- 1 | # Registry 2 | 3 | - **класс** `Registry` (`bundle\windows\Registry`) 4 | - **пакет** `windows` 5 | - **исходники** `bundle/windows/Registry.php` 6 | 7 | **Описание** 8 | 9 | Класс для работы с реестром Windows 10 | 11 | --- 12 | 13 | #### Свойства 14 | 15 | - `->`[`path`](#prop-path) : `string` - _Путь к разделу реестра_ 16 | 17 | --- 18 | 19 | #### Статичные Методы 20 | 21 | - `Registry ::`[`of()`](#method-of) - _Alias __construct_ 22 | - `Registry ::`[`HKCR()`](#method-hkcr) - _HKEY_CLASSES_ROOT_ 23 | - `Registry ::`[`HKCU()`](#method-hkcu) - _HKEY_CURRENT_USER_ 24 | - `Registry ::`[`HKLM()`](#method-hklm) - _HKEY_LOCAL_MACHINE_ 25 | - `Registry ::`[`HKU()`](#method-hku) - _HKEY_USERS_ 26 | - `Registry ::`[`HKCC()`](#method-hkcc) - _HKEY_CURRENT_CONFIG_ 27 | 28 | --- 29 | 30 | #### Методы 31 | 32 | - `->`[`__construct()`](#method-__construct) 33 | - `->`[`readFully()`](#method-readfully) - _Полное чтение содержимого раздела (ключ, значения, подразделы)_ 34 | - `->`[`read()`](#method-read) - _Чтение ключа_ 35 | - `->`[`add()`](#method-add) - _Добавить новый параметр в реестр_ 36 | - `->`[`create()`](#method-create) - _Создать раздел реестра_ 37 | - `->`[`delete()`](#method-delete) - _Удалить раздел реестра_ 38 | - `->`[`clear()`](#method-clear) - _Удалить содержимое раздела_ 39 | - `->`[`deleteKey()`](#method-deletekey) - _Удалить ключ из реестра_ 40 | - `->`[`search()`](#method-search) - _Поиск по ключам и разделам_ 41 | - `->`[`searchValue()`](#method-searchvalue) - _Поиск по значениям_ 42 | - `->`[`parseAnswer()`](#method-parseanswer) 43 | - `->`[`query()`](#method-query) 44 | 45 | --- 46 | # Статичные Методы 47 | 48 | 49 | 50 | ### of() 51 | ```php 52 | Registry::of(mixed $path): Registry 53 | ``` 54 | Alias __construct 55 | 56 | --- 57 | 58 | 59 | 60 | ### HKCR() 61 | ```php 62 | Registry::HKCR(): Registry 63 | ``` 64 | HKEY_CLASSES_ROOT 65 | 66 | --- 67 | 68 | 69 | 70 | ### HKCU() 71 | ```php 72 | Registry::HKCU(): Registry 73 | ``` 74 | HKEY_CURRENT_USER 75 | 76 | --- 77 | 78 | 79 | 80 | ### HKLM() 81 | ```php 82 | Registry::HKLM(): Registry 83 | ``` 84 | HKEY_LOCAL_MACHINE 85 | 86 | --- 87 | 88 | 89 | 90 | ### HKU() 91 | ```php 92 | Registry::HKU(): Registry 93 | ``` 94 | HKEY_USERS 95 | 96 | --- 97 | 98 | 99 | 100 | ### HKCC() 101 | ```php 102 | Registry::HKCC(): Registry 103 | ``` 104 | HKEY_CURRENT_CONFIG 105 | 106 | --- 107 | # Методы 108 | 109 | 110 | 111 | ### __construct() 112 | ```php 113 | __construct(string $path): void 114 | ``` 115 | 116 | --- 117 | 118 | 119 | 120 | ### readFully() 121 | ```php 122 | readFully(mixed $recursive): registryResult[] 123 | ``` 124 | Полное чтение содержимого раздела (ключ, значения, подразделы) 125 | 126 | --- 127 | 128 | 129 | 130 | ### read() 131 | ```php 132 | read(string $key): registryItem 133 | ``` 134 | Чтение ключа 135 | 136 | --- 137 | 138 | 139 | 140 | ### add() 141 | ```php 142 | add(string $key, string $value, string $type): void 143 | ``` 144 | Добавить новый параметр в реестр 145 | 146 | --- 147 | 148 | 149 | 150 | ### create() 151 | ```php 152 | create(): void 153 | ``` 154 | Создать раздел реестра 155 | 156 | --- 157 | 158 | 159 | 160 | ### delete() 161 | ```php 162 | delete(): void 163 | ``` 164 | Удалить раздел реестра 165 | 166 | --- 167 | 168 | 169 | 170 | ### clear() 171 | ```php 172 | clear(): void 173 | ``` 174 | Удалить содержимое раздела 175 | 176 | --- 177 | 178 | 179 | 180 | ### deleteKey() 181 | ```php 182 | deleteKey(string $key): void 183 | ``` 184 | Удалить ключ из реестра 185 | 186 | --- 187 | 188 | 189 | 190 | ### search() 191 | ```php 192 | search(string $search, mixed $recursive, mixed $fullEqual): registryResult[] 193 | ``` 194 | Поиск по ключам и разделам 195 | 196 | --- 197 | 198 | 199 | 200 | ### searchValue() 201 | ```php 202 | searchValue(string $search, mixed $recursive, mixed $fullEqual): registryResult[] 203 | ``` 204 | Поиск по значениям 205 | 206 | --- 207 | 208 | 209 | 210 | ### parseAnswer() 211 | ```php 212 | parseAnswer(mixed $answer): void 213 | ``` 214 | 215 | --- 216 | 217 | 218 | 219 | ### query() 220 | ```php 221 | query(string $command, array $vars): void 222 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Startup.md: -------------------------------------------------------------------------------- 1 | # Startup 2 | 3 | - **class** `Startup` (`bundle\windows\Startup`) 4 | - **package** `windows` 5 | - **source** `bundle/windows/Startup.php` 6 | 7 | **Description** 8 | 9 | Класс содержит функции для работы с автозапуском 10 | 11 | --- 12 | 13 | #### Static Methods 14 | 15 | - `Startup ::`[`getList()`](#method-getlist) - _Получить список программ, находящихся в автозагрузке_ 16 | - `Startup ::`[`loadWMIC()`](#method-loadwmic) - _Загрузка элементов из WMI_ 17 | - `Startup ::`[`loadRegistry()`](#method-loadregistry) - _Загрузка элементов из реестра_ 18 | - `Startup ::`[`loadDisabled()`](#method-loaddisabled) 19 | - `Startup ::`[`expandRegPath()`](#method-expandregpath) 20 | - `Startup ::`[`add()`](#method-add) - _Добавляет программу в автозагрузку_ 21 | - `Startup ::`[`find()`](#method-find) - _Найти запись в автозапуске по исполняемому файлу_ 22 | - `Startup ::`[`isExists()`](#method-isexists) - _Находится ли данный файл в автозапуске_ 23 | - `Startup ::`[`getUserStartupDirectory()`](#method-getuserstartupdirectory) - _Возвращает путь к пользовательской папке автозагрузки_ 24 | - `Startup ::`[`getCommonStartupDirectory()`](#method-getcommonstartupdirectory) - _Возвращает путь к папке автозагрузки для программ_ 25 | 26 | --- 27 | # Static Methods 28 | 29 | 30 | 31 | ### getList() 32 | ```php 33 | Startup::getList(): startupItem[] 34 | ``` 35 | Получить список программ, находящихся в автозагрузке 36 | 37 | --- 38 | 39 | 40 | 41 | ### loadWMIC() 42 | ```php 43 | Startup::loadWMIC(): array 44 | ``` 45 | Загрузка элементов из WMI 46 | 47 | --- 48 | 49 | 50 | 51 | ### loadRegistry() 52 | ```php 53 | Startup::loadRegistry(): array 54 | ``` 55 | Загрузка элементов из реестра 56 | 57 | --- 58 | 59 | 60 | 61 | ### loadDisabled() 62 | ```php 63 | Startup::loadDisabled(): array 64 | ``` 65 | 66 | --- 67 | 68 | 69 | 70 | ### expandRegPath() 71 | ```php 72 | Startup::expandRegPath(mixed $path): string 73 | ``` 74 | 75 | --- 76 | 77 | 78 | 79 | ### add() 80 | ```php 81 | Startup::add(string $file, mixed $description): bundle\windows\result\startupItem 82 | ``` 83 | Добавляет программу в автозагрузку 84 | 85 | --- 86 | 87 | 88 | 89 | ### find() 90 | ```php 91 | Startup::find(string $file): bundle\windows\result\startupItem 92 | ``` 93 | Найти запись в автозапуске по исполняемому файлу 94 | 95 | --- 96 | 97 | 98 | 99 | ### isExists() 100 | ```php 101 | Startup::isExists(string $file): bool 102 | ``` 103 | Находится ли данный файл в автозапуске 104 | 105 | --- 106 | 107 | 108 | 109 | ### getUserStartupDirectory() 110 | ```php 111 | Startup::getUserStartupDirectory(): string 112 | ``` 113 | Возвращает путь к пользовательской папке автозагрузки 114 | 115 | --- 116 | 117 | 118 | 119 | ### getCommonStartupDirectory() 120 | ```php 121 | Startup::getCommonStartupDirectory(): string 122 | ``` 123 | Возвращает путь к папке автозагрузки для программ -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Startup.ru.md: -------------------------------------------------------------------------------- 1 | # Startup 2 | 3 | - **класс** `Startup` (`bundle\windows\Startup`) 4 | - **пакет** `windows` 5 | - **исходники** `bundle/windows/Startup.php` 6 | 7 | **Описание** 8 | 9 | Класс содержит функции для работы с автозапуском 10 | 11 | --- 12 | 13 | #### Статичные Методы 14 | 15 | - `Startup ::`[`getList()`](#method-getlist) - _Получить список программ, находящихся в автозагрузке_ 16 | - `Startup ::`[`loadWMIC()`](#method-loadwmic) - _Загрузка элементов из WMI_ 17 | - `Startup ::`[`loadRegistry()`](#method-loadregistry) - _Загрузка элементов из реестра_ 18 | - `Startup ::`[`loadDisabled()`](#method-loaddisabled) 19 | - `Startup ::`[`expandRegPath()`](#method-expandregpath) 20 | - `Startup ::`[`add()`](#method-add) - _Добавляет программу в автозагрузку_ 21 | - `Startup ::`[`find()`](#method-find) - _Найти запись в автозапуске по исполняемому файлу_ 22 | - `Startup ::`[`isExists()`](#method-isexists) - _Находится ли данный файл в автозапуске_ 23 | - `Startup ::`[`getUserStartupDirectory()`](#method-getuserstartupdirectory) - _Возвращает путь к пользовательской папке автозагрузки_ 24 | - `Startup ::`[`getCommonStartupDirectory()`](#method-getcommonstartupdirectory) - _Возвращает путь к папке автозагрузки для программ_ 25 | 26 | --- 27 | # Статичные Методы 28 | 29 | 30 | 31 | ### getList() 32 | ```php 33 | Startup::getList(): startupItem[] 34 | ``` 35 | Получить список программ, находящихся в автозагрузке 36 | 37 | --- 38 | 39 | 40 | 41 | ### loadWMIC() 42 | ```php 43 | Startup::loadWMIC(): array 44 | ``` 45 | Загрузка элементов из WMI 46 | 47 | --- 48 | 49 | 50 | 51 | ### loadRegistry() 52 | ```php 53 | Startup::loadRegistry(): array 54 | ``` 55 | Загрузка элементов из реестра 56 | 57 | --- 58 | 59 | 60 | 61 | ### loadDisabled() 62 | ```php 63 | Startup::loadDisabled(): array 64 | ``` 65 | 66 | --- 67 | 68 | 69 | 70 | ### expandRegPath() 71 | ```php 72 | Startup::expandRegPath(mixed $path): string 73 | ``` 74 | 75 | --- 76 | 77 | 78 | 79 | ### add() 80 | ```php 81 | Startup::add(string $file, mixed $description): bundle\windows\result\startupItem 82 | ``` 83 | Добавляет программу в автозагрузку 84 | 85 | --- 86 | 87 | 88 | 89 | ### find() 90 | ```php 91 | Startup::find(string $file): bundle\windows\result\startupItem 92 | ``` 93 | Найти запись в автозапуске по исполняемому файлу 94 | 95 | --- 96 | 97 | 98 | 99 | ### isExists() 100 | ```php 101 | Startup::isExists(string $file): bool 102 | ``` 103 | Находится ли данный файл в автозапуске 104 | 105 | --- 106 | 107 | 108 | 109 | ### getUserStartupDirectory() 110 | ```php 111 | Startup::getUserStartupDirectory(): string 112 | ``` 113 | Возвращает путь к пользовательской папке автозагрузки 114 | 115 | --- 116 | 117 | 118 | 119 | ### getCommonStartupDirectory() 120 | ```php 121 | Startup::getCommonStartupDirectory(): string 122 | ``` 123 | Возвращает путь к папке автозагрузки для программ -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Task.md: -------------------------------------------------------------------------------- 1 | # Task 2 | 3 | - **class** `Task` (`bundle\windows\Task`) 4 | - **package** `windows` 5 | - **source** `bundle/windows/Task.php` 6 | 7 | --- 8 | 9 | #### Static Methods 10 | 11 | - `Task ::`[`getList()`](#method-getlist) - _Получить список процессов_ 12 | - `Task ::`[`findByPID()`](#method-findbypid) - _Поиск процесса по PID_ 13 | - `Task ::`[`find()`](#method-find) - _Поиск процесса по имени образа_ 14 | - `Task ::`[`findByTitle()`](#method-findbytitle) - _Поиск процесса по заголовку окна_ 15 | - `Task ::`[`exists()`](#method-exists) - _Существует ли процесс с таким именем образа_ 16 | - `Task ::`[`pidExists()`](#method-pidexists) - _Существует ли процесс с таким PID_ 17 | - `Task ::`[`titleExists()`](#method-titleexists) - _Существует ли процесс с таким заголовком окна_ 18 | - `Task ::`[`exec()`](#method-exec) 19 | - `Task ::`[`parseAnswer()`](#method-parseanswer) 20 | 21 | --- 22 | # Static Methods 23 | 24 | 25 | 26 | ### getList() 27 | ```php 28 | Task::getList(): \result\taskResult 29 | ``` 30 | Получить список процессов 31 | 32 | --- 33 | 34 | 35 | 36 | ### findByPID() 37 | ```php 38 | Task::findByPID(int $pid): \result\taskItem 39 | ``` 40 | Поиск процесса по PID 41 | 42 | --- 43 | 44 | 45 | 46 | ### find() 47 | ```php 48 | Task::find(string $name): \result\taskResult 49 | ``` 50 | Поиск процесса по имени образа 51 | 52 | --- 53 | 54 | 55 | 56 | ### findByTitle() 57 | ```php 58 | Task::findByTitle(string $title): \result\taskResult 59 | ``` 60 | Поиск процесса по заголовку окна 61 | 62 | --- 63 | 64 | 65 | 66 | ### exists() 67 | ```php 68 | Task::exists(string $name): bool 69 | ``` 70 | Существует ли процесс с таким именем образа 71 | 72 | --- 73 | 74 | 75 | 76 | ### pidExists() 77 | ```php 78 | Task::pidExists(int $pid): bool 79 | ``` 80 | Существует ли процесс с таким PID 81 | 82 | --- 83 | 84 | 85 | 86 | ### titleExists() 87 | ```php 88 | Task::titleExists(string $title): bool 89 | ``` 90 | Существует ли процесс с таким заголовком окна 91 | 92 | --- 93 | 94 | 95 | 96 | ### exec() 97 | ```php 98 | Task::exec(mixed $filter): void 99 | ``` 100 | 101 | --- 102 | 103 | 104 | 105 | ### parseAnswer() 106 | ```php 107 | Task::parseAnswer(mixed $list): void 108 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Task.ru.md: -------------------------------------------------------------------------------- 1 | # Task 2 | 3 | - **класс** `Task` (`bundle\windows\Task`) 4 | - **пакет** `windows` 5 | - **исходники** `bundle/windows/Task.php` 6 | 7 | --- 8 | 9 | #### Статичные Методы 10 | 11 | - `Task ::`[`getList()`](#method-getlist) - _Получить список процессов_ 12 | - `Task ::`[`findByPID()`](#method-findbypid) - _Поиск процесса по PID_ 13 | - `Task ::`[`find()`](#method-find) - _Поиск процесса по имени образа_ 14 | - `Task ::`[`findByTitle()`](#method-findbytitle) - _Поиск процесса по заголовку окна_ 15 | - `Task ::`[`exists()`](#method-exists) - _Существует ли процесс с таким именем образа_ 16 | - `Task ::`[`pidExists()`](#method-pidexists) - _Существует ли процесс с таким PID_ 17 | - `Task ::`[`titleExists()`](#method-titleexists) - _Существует ли процесс с таким заголовком окна_ 18 | - `Task ::`[`exec()`](#method-exec) 19 | - `Task ::`[`parseAnswer()`](#method-parseanswer) 20 | 21 | --- 22 | # Статичные Методы 23 | 24 | 25 | 26 | ### getList() 27 | ```php 28 | Task::getList(): \result\taskResult 29 | ``` 30 | Получить список процессов 31 | 32 | --- 33 | 34 | 35 | 36 | ### findByPID() 37 | ```php 38 | Task::findByPID(int $pid): \result\taskItem 39 | ``` 40 | Поиск процесса по PID 41 | 42 | --- 43 | 44 | 45 | 46 | ### find() 47 | ```php 48 | Task::find(string $name): \result\taskResult 49 | ``` 50 | Поиск процесса по имени образа 51 | 52 | --- 53 | 54 | 55 | 56 | ### findByTitle() 57 | ```php 58 | Task::findByTitle(string $title): \result\taskResult 59 | ``` 60 | Поиск процесса по заголовку окна 61 | 62 | --- 63 | 64 | 65 | 66 | ### exists() 67 | ```php 68 | Task::exists(string $name): bool 69 | ``` 70 | Существует ли процесс с таким именем образа 71 | 72 | --- 73 | 74 | 75 | 76 | ### pidExists() 77 | ```php 78 | Task::pidExists(int $pid): bool 79 | ``` 80 | Существует ли процесс с таким PID 81 | 82 | --- 83 | 84 | 85 | 86 | ### titleExists() 87 | ```php 88 | Task::titleExists(string $title): bool 89 | ``` 90 | Существует ли процесс с таким заголовком окна 91 | 92 | --- 93 | 94 | 95 | 96 | ### exec() 97 | ```php 98 | Task::exec(mixed $filter): void 99 | ``` 100 | 101 | --- 102 | 103 | 104 | 105 | ### parseAnswer() 106 | ```php 107 | Task::parseAnswer(mixed $list): void 108 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Windows.md: -------------------------------------------------------------------------------- 1 | # Windows 2 | 3 | - **class** `Windows` (`bundle\windows\Windows`) 4 | - **package** `windows` 5 | - **source** `bundle/windows/Windows.php` 6 | 7 | --- 8 | 9 | #### Properties 10 | 11 | - `->`[`bootupTime`](#prop-bootuptime) : `int` - _Количество миллисекунд с момента запуска системы_ 12 | 13 | --- 14 | 15 | #### Static Methods 16 | 17 | - `Windows ::`[`expandEnv()`](#method-expandenv) - _Раскрывает системные переменные (%TEMP%, %APPDATA% и т.д.)_ 18 | - `Windows ::`[`isWin()`](#method-iswin) - _Проверить, относится ли текущая система к семейству OS Windows_ 19 | - `Windows ::`[`isAdmin()`](#method-isadmin) - _Проверить, запущена ли программа от имени администратора_ 20 | - `Windows ::`[`runAsAdmin()`](#method-runasadmin) - _Запустить процесс от имени администратора_ 21 | - `Windows ::`[`requireAdmin()`](#method-requireadmin) - _Перезапускает текущую программу с требованием прав администратора_ 22 | - `Windows ::`[`getArch()`](#method-getarch) - _Получить разрядность системы_ 23 | - `Windows ::`[`getTemp()`](#method-gettemp) - _Return system temp directory._ 24 | - `Windows ::`[`getUsers()`](#method-getusers) - _Получить список пользователей на данном ПК_ 25 | - `Windows ::`[`getDriveSerial()`](#method-getdriveserial) - _Return serial number of a drive._ 26 | - `Windows ::`[`getDrives()`](#method-getdrives) - _Получить список подключенных дисков и их характеристик_ 27 | - `Windows ::`[`getOS()`](#method-getos) - _Get full information of current OS._ 28 | - `Windows ::`[`getMotherboard()`](#method-getmotherboard) - _Get full information of current baseboard._ 29 | - `Windows ::`[`getMotherboardSerial()`](#method-getmotherboardserial) - _Return serial number of current mother board._ 30 | - `Windows ::`[`getMotherboardManufacturer()`](#method-getmotherboardmanufacturer) - _Получить производителя материнской платы_ 31 | - `Windows ::`[`getMotherboardProduct()`](#method-getmotherboardproduct) - _Получить модель материнской платы_ 32 | - `Windows ::`[`getCpuVoltage()`](#method-getcpuvoltage) - _Получить вольтаж процессора_ 33 | - `Windows ::`[`getCpuManufacturer()`](#method-getcpumanufacturer) - _Получить производителя процессора_ 34 | - `Windows ::`[`getCpuFrequency()`](#method-getcpufrequency) - _Получить максимальную частоту процессора_ 35 | - `Windows ::`[`getCpuSerial()`](#method-getcpuserial) - _Получить серийный номер процессора_ 36 | - `Windows ::`[`getCpuProduct()`](#method-getcpuproduct) - _Получить модель процессора_ 37 | - `Windows ::`[`getCPU()`](#method-getcpu) - _Получить характеристики процессора_ 38 | - `Windows ::`[`getVideoProduct()`](#method-getvideoproduct) - _Получить модель (первой) видеокарты_ 39 | - `Windows ::`[`getVideoManufacturer()`](#method-getvideomanufacturer) - _Получить производителя (первой) видеокарты_ 40 | - `Windows ::`[`getVideoRAM()`](#method-getvideoram) - _Получить память (первой) видеокарты_ 41 | - `Windows ::`[`getVideoMode()`](#method-getvideomode) - _Получить разрешение (первой) видеокарты_ 42 | - `Windows ::`[`getVideo()`](#method-getvideo) - _Получить характеристики всех подключенных видеокарт_ 43 | - `Windows ::`[`getSound()`](#method-getsound) - _Получить характеристики звуковых устройств_ 44 | - `Windows ::`[`getRAM()`](#method-getram) - _Получить характеристики устройств оперативной памяти_ 45 | - `Windows ::`[`getTotalRAM()`](#method-gettotalram) - _Получить полный объем оперативной памяти (в байтах)_ 46 | - `Windows ::`[`getFreeRAM()`](#method-getfreeram) - _Получить объем свободной оперативной памяти (в байтах)_ 47 | - `Windows ::`[`getUUID()`](#method-getuuid) - _Получить уникальный UUID системы_ 48 | - `Windows ::`[`getBIOS()`](#method-getbios) - _Получить информацию о BIOS_ 49 | - `Windows ::`[`getPrinter()`](#method-getprinter) - _Получить массив принтеров и их характеристики_ 50 | - `Windows ::`[`getProductName()`](#method-getproductname) - _Получить ProductName системы_ 51 | - `Windows ::`[`getMAC()`](#method-getmac) - _Returns mac-address._ 52 | - `Windows ::`[`getTemperature()`](#method-gettemperature) - _Получить температуру с датчиков (желательно запускать с парвами администратора)_ 53 | - `Windows ::`[`getBootUptime()`](#method-getbootuptime) - _Получить время запуска системы_ 54 | - `Windows ::`[`getUptime()`](#method-getuptime) - _Получить время работы системы_ 55 | - `Windows ::`[`getBatteryInfo()`](#method-getbatteryinfo) - _Получить данные о встроенной батарее_ 56 | - `Windows ::`[`getBatteryTimeRemaining()`](#method-getbatterytimeremaining) - _Получить предположительное оставшееся время работы._ 57 | - `Windows ::`[`getBatteryPercent()`](#method-getbatterypercent) - _Получить процент заряда батареи_ 58 | - `Windows ::`[`getBatteryVoltage()`](#method-getbatteryvoltage) - _Получить напряжение батареи_ 59 | - `Windows ::`[`isBatteryCharging()`](#method-isbatterycharging) - _Находится ли батарея на зарядке_ 60 | - `Windows ::`[`createShortcut()`](#method-createshortcut) - _Создать lnk-ярлык (ссылку на файл)_ 61 | - `Windows ::`[`getShortcutTarget()`](#method-getshortcuttarget) - _Получить ссылку на файл lnk-ярлыка_ 62 | - `Windows ::`[`speak()`](#method-speak) **common.deprecated** - _Проговорить текст_ 63 | - `Windows ::`[`setBrightnessLevel()`](#method-setbrightnesslevel) - _Установить уровень яркости (Windows 10 only)_ 64 | - `Windows ::`[`getBrightnessLevel()`](#method-getbrightnesslevel) - _Получить уровень яркости (Windows 10 only)_ 65 | - `Windows ::`[`setVolumeLevel()`](#method-setvolumelevel) - _Установить уровень громкости (Windows 10 only)_ 66 | - `Windows ::`[`getVolumeLevel()`](#method-getvolumelevel) - _Получить уровень громкости (Windows 10 only)_ 67 | - `Windows ::`[`setMute()`](#method-setmute) - _Включить / выключить режим "без звука"_ 68 | - `Windows ::`[`getMute()`](#method-getmute) - _Проверить, включен ли режим "без звука"_ 69 | - `Windows ::`[`psAudioQuery()`](#method-psaudioquery) 70 | - `Windows ::`[`setTime()`](#method-settime) - _Установить системное время (нужны права администратора)_ 71 | - `Windows ::`[`setDate()`](#method-setdate) - _Установить системную дату (нужны права администратора)_ 72 | - `Windows ::`[`extractIcon()`](#method-extracticon) - _Извлекает и сохраняет отображаемую в проводнике иконку файла_ 73 | - `Windows ::`[`getWallpaperPath()`](#method-getwallpaperpath) - _Получить системный путь, по которому расположено изображение с обоями_ 74 | - `Windows ::`[`getWallpaper()`](#method-getwallpaper) - _Получить изображение с текущими обоями_ 75 | - `Windows ::`[`setWallpaper()`](#method-setwallpaper) - _Установить обои_ 76 | - `Windows ::`[`updateDesktopWallpaper()`](#method-updatedesktopwallpaper) - _Визуальное обновление обоев на рабочем столе_ 77 | - `Windows ::`[`getSystem32()`](#method-getsystem32) - _Путь к системной папке windows\system32_ 78 | - `Windows ::`[`getSystemDrive()`](#method-getsystemdrive) - _Возвращает букву системного диска_ 79 | - `Windows ::`[`getSysNative()`](#method-getsysnative) - _Если 32-битный процесс запущен в 64-битной системе, то он не может_ 80 | - `Windows ::`[`ping()`](#method-ping) - _Ping_ 81 | - `Windows ::`[`isInternetAvaliable()`](#method-isinternetavaliable) - _Проверить наличие Интернет-соединения_ 82 | - `Windows ::`[`getKeyboardLayout()`](#method-getkeyboardlayout) - _Получить код раскладки клавиатуры_ 83 | - `Windows ::`[`getKeyboardLayoutName()`](#method-getkeyboardlayoutname) - _Получить название раскладки клавиатуры_ 84 | - `Windows ::`[`getProductKey()`](#method-getproductkey) - _Возвращает ProductKey системы_ 85 | - `Windows ::`[`getProductVersion()`](#method-getproductversion) - _Возвращает номер версии ОС_ 86 | - `Windows ::`[`getProductBuild()`](#method-getproductbuild) - _Возвращает номер сборки ОС_ 87 | - `Windows ::`[`pressKey()`](#method-presskey) - _Имитирует нажатие на кнопку_ 88 | - `Windows ::`[`shutdown()`](#method-shutdown) - _Выключить ПК_ 89 | - `Windows ::`[`reboot()`](#method-reboot) - _Перезагрузить ПК_ 90 | 91 | --- 92 | # Static Methods 93 | 94 | 95 | 96 | ### expandEnv() 97 | ```php 98 | Windows::expandEnv(string $string): string 99 | ``` 100 | Раскрывает системные переменные (%TEMP%, %APPDATA% и т.д.) 101 | 102 | --- 103 | 104 | 105 | 106 | ### isWin() 107 | ```php 108 | Windows::isWin(): bool 109 | ``` 110 | Проверить, относится ли текущая система к семейству OS Windows 111 | 112 | --- 113 | 114 | 115 | 116 | ### isAdmin() 117 | ```php 118 | Windows::isAdmin(): bool 119 | ``` 120 | Проверить, запущена ли программа от имени администратора 121 | 122 | --- 123 | 124 | 125 | 126 | ### runAsAdmin() 127 | ```php 128 | Windows::runAsAdmin(string $file, array $args, string $workDir): void 129 | ``` 130 | Запустить процесс от имени администратора 131 | 132 | --- 133 | 134 | 135 | 136 | ### requireAdmin() 137 | ```php 138 | Windows::requireAdmin(): void 139 | ``` 140 | Перезапускает текущую программу с требованием прав администратора 141 | 142 | --- 143 | 144 | 145 | 146 | ### getArch() 147 | ```php 148 | Windows::getArch(): string 149 | ``` 150 | Получить разрядность системы 151 | 152 | --- 153 | 154 | 155 | 156 | ### getTemp() 157 | ```php 158 | Windows::getTemp(): string 159 | ``` 160 | Return system temp directory. 161 | 162 | --- 163 | 164 | 165 | 166 | ### getUsers() 167 | ```php 168 | Windows::getUsers(): array 169 | ``` 170 | Получить список пользователей на данном ПК 171 | 172 | --- 173 | 174 | 175 | 176 | ### getDriveSerial() 177 | ```php 178 | Windows::getDriveSerial(string $drive): string 179 | ``` 180 | Return serial number of a drive. 181 | 182 | --- 183 | 184 | 185 | 186 | ### getDrives() 187 | ```php 188 | Windows::getDrives(): array 189 | ``` 190 | Получить список подключенных дисков и их характеристик 191 | 192 | --- 193 | 194 | 195 | 196 | ### getOS() 197 | ```php 198 | Windows::getOS(): array 199 | ``` 200 | Get full information of current OS. 201 | 202 | --- 203 | 204 | 205 | 206 | ### getMotherboard() 207 | ```php 208 | Windows::getMotherboard(): string 209 | ``` 210 | Get full information of current baseboard. 211 | 212 | --- 213 | 214 | 215 | 216 | ### getMotherboardSerial() 217 | ```php 218 | Windows::getMotherboardSerial(): string 219 | ``` 220 | Return serial number of current mother board. 221 | 222 | --- 223 | 224 | 225 | 226 | ### getMotherboardManufacturer() 227 | ```php 228 | Windows::getMotherboardManufacturer(): string 229 | ``` 230 | Получить производителя материнской платы 231 | 232 | --- 233 | 234 | 235 | 236 | ### getMotherboardProduct() 237 | ```php 238 | Windows::getMotherboardProduct(): string 239 | ``` 240 | Получить модель материнской платы 241 | 242 | --- 243 | 244 | 245 | 246 | ### getCpuVoltage() 247 | ```php 248 | Windows::getCpuVoltage(): string 249 | ``` 250 | Получить вольтаж процессора 251 | 252 | --- 253 | 254 | 255 | 256 | ### getCpuManufacturer() 257 | ```php 258 | Windows::getCpuManufacturer(): string 259 | ``` 260 | Получить производителя процессора 261 | 262 | --- 263 | 264 | 265 | 266 | ### getCpuFrequency() 267 | ```php 268 | Windows::getCpuFrequency(): string 269 | ``` 270 | Получить максимальную частоту процессора 271 | 272 | --- 273 | 274 | 275 | 276 | ### getCpuSerial() 277 | ```php 278 | Windows::getCpuSerial(): string 279 | ``` 280 | Получить серийный номер процессора 281 | 282 | --- 283 | 284 | 285 | 286 | ### getCpuProduct() 287 | ```php 288 | Windows::getCpuProduct(): string 289 | ``` 290 | Получить модель процессора 291 | 292 | --- 293 | 294 | 295 | 296 | ### getCPU() 297 | ```php 298 | Windows::getCPU(): string 299 | ``` 300 | Получить характеристики процессора 301 | 302 | --- 303 | 304 | 305 | 306 | ### getVideoProduct() 307 | ```php 308 | Windows::getVideoProduct(): string 309 | ``` 310 | Получить модель (первой) видеокарты 311 | 312 | --- 313 | 314 | 315 | 316 | ### getVideoManufacturer() 317 | ```php 318 | Windows::getVideoManufacturer(): string 319 | ``` 320 | Получить производителя (первой) видеокарты 321 | 322 | --- 323 | 324 | 325 | 326 | ### getVideoRAM() 327 | ```php 328 | Windows::getVideoRAM(): string 329 | ``` 330 | Получить память (первой) видеокарты 331 | 332 | --- 333 | 334 | 335 | 336 | ### getVideoMode() 337 | ```php 338 | Windows::getVideoMode(): string 339 | ``` 340 | Получить разрешение (первой) видеокарты 341 | 342 | --- 343 | 344 | 345 | 346 | ### getVideo() 347 | ```php 348 | Windows::getVideo(): string 349 | ``` 350 | Получить характеристики всех подключенных видеокарт 351 | 352 | --- 353 | 354 | 355 | 356 | ### getSound() 357 | ```php 358 | Windows::getSound(): string 359 | ``` 360 | Получить характеристики звуковых устройств 361 | 362 | --- 363 | 364 | 365 | 366 | ### getRAM() 367 | ```php 368 | Windows::getRAM(): array 369 | ``` 370 | Получить характеристики устройств оперативной памяти 371 | 372 | --- 373 | 374 | 375 | 376 | ### getTotalRAM() 377 | ```php 378 | Windows::getTotalRAM(): int 379 | ``` 380 | Получить полный объем оперативной памяти (в байтах) 381 | 382 | --- 383 | 384 | 385 | 386 | ### getFreeRAM() 387 | ```php 388 | Windows::getFreeRAM(): int 389 | ``` 390 | Получить объем свободной оперативной памяти (в байтах) 391 | 392 | --- 393 | 394 | 395 | 396 | ### getUUID() 397 | ```php 398 | Windows::getUUID(): string 399 | ``` 400 | Получить уникальный UUID системы 401 | 402 | --- 403 | 404 | 405 | 406 | ### getBIOS() 407 | ```php 408 | Windows::getBIOS(): array 409 | ``` 410 | Получить информацию о BIOS 411 | 412 | --- 413 | 414 | 415 | 416 | ### getPrinter() 417 | ```php 418 | Windows::getPrinter(): array 419 | ``` 420 | Получить массив принтеров и их характеристики 421 | 422 | --- 423 | 424 | 425 | 426 | ### getProductName() 427 | ```php 428 | Windows::getProductName(): string 429 | ``` 430 | Получить ProductName системы 431 | 432 | --- 433 | 434 | 435 | 436 | ### getMAC() 437 | ```php 438 | Windows::getMAC(): string 439 | ``` 440 | Returns mac-address. 441 | 442 | --- 443 | 444 | 445 | 446 | ### getTemperature() 447 | ```php 448 | Windows::getTemperature(): array 449 | ``` 450 | Получить температуру с датчиков (желательно запускать с парвами администратора) 451 | 452 | --- 453 | 454 | 455 | 456 | ### getBootUptime() 457 | ```php 458 | Windows::getBootUptime(): int 459 | ``` 460 | Получить время запуска системы 461 | 462 | --- 463 | 464 | 465 | 466 | ### getUptime() 467 | ```php 468 | Windows::getUptime(): int 469 | ``` 470 | Получить время работы системы 471 | 472 | --- 473 | 474 | 475 | 476 | ### getBatteryInfo() 477 | ```php 478 | Windows::getBatteryInfo(): array 479 | ``` 480 | Получить данные о встроенной батарее 481 | 482 | --- 483 | 484 | 485 | 486 | ### getBatteryTimeRemaining() 487 | ```php 488 | Windows::getBatteryTimeRemaining(): int 489 | ``` 490 | Получить предположительное оставшееся время работы. 491 | 492 | --- 493 | 494 | 495 | 496 | ### getBatteryPercent() 497 | ```php 498 | Windows::getBatteryPercent(): int 499 | ``` 500 | Получить процент заряда батареи 501 | 502 | --- 503 | 504 | 505 | 506 | ### getBatteryVoltage() 507 | ```php 508 | Windows::getBatteryVoltage(): int 509 | ``` 510 | Получить напряжение батареи 511 | 512 | --- 513 | 514 | 515 | 516 | ### isBatteryCharging() 517 | ```php 518 | Windows::isBatteryCharging(): bool 519 | ``` 520 | Находится ли батарея на зарядке 521 | 522 | --- 523 | 524 | 525 | 526 | ### createShortcut() 527 | ```php 528 | Windows::createShortcut(string $shortcut, string $target, mixed $description): void 529 | ``` 530 | Создать lnk-ярлык (ссылку на файл) 531 | 532 | --- 533 | 534 | 535 | 536 | ### getShortcutTarget() 537 | ```php 538 | Windows::getShortcutTarget(string $shortcut): string 539 | ``` 540 | Получить ссылку на файл lnk-ярлыка 541 | 542 | --- 543 | 544 | 545 | 546 | ### speak() 547 | ```php 548 | Windows::speak(string $text): void 549 | ``` 550 | Проговорить текст 551 | 552 | --- 553 | 554 | 555 | 556 | ### setBrightnessLevel() 557 | ```php 558 | Windows::setBrightnessLevel(int $level, mixed $time): void 559 | ``` 560 | Установить уровень яркости (Windows 10 only) 561 | 562 | --- 563 | 564 | 565 | 566 | ### getBrightnessLevel() 567 | ```php 568 | Windows::getBrightnessLevel(): int 569 | ``` 570 | Получить уровень яркости (Windows 10 only) 571 | 572 | --- 573 | 574 | 575 | 576 | ### setVolumeLevel() 577 | ```php 578 | Windows::setVolumeLevel(int $level): void 579 | ``` 580 | Установить уровень громкости (Windows 10 only) 581 | 582 | --- 583 | 584 | 585 | 586 | ### getVolumeLevel() 587 | ```php 588 | Windows::getVolumeLevel(): int 589 | ``` 590 | Получить уровень громкости (Windows 10 only) 591 | 592 | --- 593 | 594 | 595 | 596 | ### setMute() 597 | ```php 598 | Windows::setMute(bool $value): void 599 | ``` 600 | Включить / выключить режим "без звука" 601 | 602 | --- 603 | 604 | 605 | 606 | ### getMute() 607 | ```php 608 | Windows::getMute(): bool 609 | ``` 610 | Проверить, включен ли режим "без звука" 611 | 612 | --- 613 | 614 | 615 | 616 | ### psAudioQuery() 617 | ```php 618 | Windows::psAudioQuery(mixed $key, mixed $value): void 619 | ``` 620 | 621 | --- 622 | 623 | 624 | 625 | ### setTime() 626 | ```php 627 | Windows::setTime(mixed $time): void 628 | ``` 629 | Установить системное время (нужны права администратора) 630 | 631 | --- 632 | 633 | 634 | 635 | ### setDate() 636 | ```php 637 | Windows::setDate(mixed $date): void 638 | ``` 639 | Установить системную дату (нужны права администратора) 640 | 641 | --- 642 | 643 | 644 | 645 | ### extractIcon() 646 | ```php 647 | Windows::extractIcon(string $file, string $icon): boolean 648 | ``` 649 | Извлекает и сохраняет отображаемую в проводнике иконку файла 650 | 651 | --- 652 | 653 | 654 | 655 | ### getWallpaperPath() 656 | ```php 657 | Windows::getWallpaperPath(): string 658 | ``` 659 | Получить системный путь, по которому расположено изображение с обоями 660 | 661 | --- 662 | 663 | 664 | 665 | ### getWallpaper() 666 | ```php 667 | Windows::getWallpaper(): php\gui\UXImage 668 | ``` 669 | Получить изображение с текущими обоями 670 | 671 | --- 672 | 673 | 674 | 675 | ### setWallpaper() 676 | ```php 677 | Windows::setWallpaper(string|UXImage $image): void 678 | ``` 679 | Установить обои 680 | 681 | --- 682 | 683 | 684 | 685 | ### updateDesktopWallpaper() 686 | ```php 687 | Windows::updateDesktopWallpaper(): void 688 | ``` 689 | Визуальное обновление обоев на рабочем столе 690 | (вместо перезапуска explorer'a) 691 | 692 | --- 693 | 694 | 695 | 696 | ### getSystem32() 697 | ```php 698 | Windows::getSystem32(mixed $path): string 699 | ``` 700 | Путь к системной папке windows\system32 701 | 702 | --- 703 | 704 | 705 | 706 | ### getSystemDrive() 707 | ```php 708 | Windows::getSystemDrive(): string 709 | ``` 710 | Возвращает букву системного диска 711 | 712 | --- 713 | 714 | 715 | 716 | ### getSysNative() 717 | ```php 718 | Windows::getSysNative(mixed $path): string 719 | ``` 720 | Если 32-битный процесс запущен в 64-битной системе, то он не может 721 | запустить 64 битный powershell, для этого монтируется виртуальная 722 | директория SysNative, если запустить оттуда, запущенный процесс будет 64-битный 723 | 724 | --- 725 | 726 | 727 | 728 | ### ping() 729 | ```php 730 | Windows::ping(string $domain, int $count, int $length): array 731 | ``` 732 | Ping 733 | 734 | --- 735 | 736 | 737 | 738 | ### isInternetAvaliable() 739 | ```php 740 | Windows::isInternetAvaliable(): bool 741 | ``` 742 | Проверить наличие Интернет-соединения 743 | 744 | --- 745 | 746 | 747 | 748 | ### getKeyboardLayout() 749 | ```php 750 | Windows::getKeyboardLayout(): string 751 | ``` 752 | Получить код раскладки клавиатуры 753 | 754 | --- 755 | 756 | 757 | 758 | ### getKeyboardLayoutName() 759 | ```php 760 | Windows::getKeyboardLayoutName(): string 761 | ``` 762 | Получить название раскладки клавиатуры 763 | 764 | --- 765 | 766 | 767 | 768 | ### getProductKey() 769 | ```php 770 | Windows::getProductKey(): string 771 | ``` 772 | Возвращает ProductKey системы 773 | 774 | --- 775 | 776 | 777 | 778 | ### getProductVersion() 779 | ```php 780 | Windows::getProductVersion(): int 781 | ``` 782 | Возвращает номер версии ОС 783 | 784 | --- 785 | 786 | 787 | 788 | ### getProductBuild() 789 | ```php 790 | Windows::getProductBuild(): int 791 | ``` 792 | Возвращает номер сборки ОС 793 | 794 | --- 795 | 796 | 797 | 798 | ### pressKey() 799 | ```php 800 | Windows::pressKey(int $keyCode): void 801 | ``` 802 | Имитирует нажатие на кнопку 803 | 804 | --- 805 | 806 | 807 | 808 | ### shutdown() 809 | ```php 810 | Windows::shutdown(): void 811 | ``` 812 | Выключить ПК 813 | 814 | --- 815 | 816 | 817 | 818 | ### reboot() 819 | ```php 820 | Windows::reboot(): void 821 | ``` 822 | Перезагрузить ПК -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Windows.ru.md: -------------------------------------------------------------------------------- 1 | # Windows 2 | 3 | - **класс** `Windows` (`bundle\windows\Windows`) 4 | - **пакет** `windows` 5 | - **исходники** `bundle/windows/Windows.php` 6 | 7 | --- 8 | 9 | #### Свойства 10 | 11 | - `->`[`bootupTime`](#prop-bootuptime) : `int` - _Количество миллисекунд с момента запуска системы_ 12 | 13 | --- 14 | 15 | #### Статичные Методы 16 | 17 | - `Windows ::`[`expandEnv()`](#method-expandenv) - _Раскрывает системные переменные (%TEMP%, %APPDATA% и т.д.)_ 18 | - `Windows ::`[`isWin()`](#method-iswin) - _Проверить, относится ли текущая система к семейству OS Windows_ 19 | - `Windows ::`[`isAdmin()`](#method-isadmin) - _Проверить, запущена ли программа от имени администратора_ 20 | - `Windows ::`[`runAsAdmin()`](#method-runasadmin) - _Запустить процесс от имени администратора_ 21 | - `Windows ::`[`requireAdmin()`](#method-requireadmin) - _Перезапускает текущую программу с требованием прав администратора_ 22 | - `Windows ::`[`getArch()`](#method-getarch) - _Получить разрядность системы_ 23 | - `Windows ::`[`getTemp()`](#method-gettemp) - _Получить путь ко временной папке_ 24 | - `Windows ::`[`getUsers()`](#method-getusers) - _Получить список пользователей на данном ПК_ 25 | - `Windows ::`[`getDriveSerial()`](#method-getdriveserial) - _Получить серийный номер носителя_ 26 | - `Windows ::`[`getDrives()`](#method-getdrives) - _Получить список подключенных дисков и их характеристик_ 27 | - `Windows ::`[`getOS()`](#method-getos) - _Получить характеристики операционной системы_ 28 | - `Windows ::`[`getMotherboard()`](#method-getmotherboard) - _Получить характеристики материнской платы_ 29 | - `Windows ::`[`getMotherboardSerial()`](#method-getmotherboardserial) - _Получить серийный номер материнской платы_ 30 | - `Windows ::`[`getMotherboardManufacturer()`](#method-getmotherboardmanufacturer) - _Получить производителя материнской платы_ 31 | - `Windows ::`[`getMotherboardProduct()`](#method-getmotherboardproduct) - _Получить модель материнской платы_ 32 | - `Windows ::`[`getCpuVoltage()`](#method-getcpuvoltage) - _Получить вольтаж процессора_ 33 | - `Windows ::`[`getCpuManufacturer()`](#method-getcpumanufacturer) - _Получить производителя процессора_ 34 | - `Windows ::`[`getCpuFrequency()`](#method-getcpufrequency) - _Получить максимальную частоту процессора_ 35 | - `Windows ::`[`getCpuSerial()`](#method-getcpuserial) - _Получить серийный номер процессора_ 36 | - `Windows ::`[`getCpuProduct()`](#method-getcpuproduct) - _Получить модель процессора_ 37 | - `Windows ::`[`getCPU()`](#method-getcpu) - _Получить характеристики процессора_ 38 | - `Windows ::`[`getVideoProduct()`](#method-getvideoproduct) - _Получить модель (первой) видеокарты_ 39 | - `Windows ::`[`getVideoManufacturer()`](#method-getvideomanufacturer) - _Получить производителя (первой) видеокарты_ 40 | - `Windows ::`[`getVideoRAM()`](#method-getvideoram) - _Получить память (первой) видеокарты_ 41 | - `Windows ::`[`getVideoMode()`](#method-getvideomode) - _Получить разрешение (первой) видеокарты_ 42 | - `Windows ::`[`getVideo()`](#method-getvideo) - _Получить характеристики всех подключенных видеокарт_ 43 | - `Windows ::`[`getSound()`](#method-getsound) - _Получить характеристики звуковых устройств_ 44 | - `Windows ::`[`getRAM()`](#method-getram) - _Получить характеристики устройств оперативной памяти_ 45 | - `Windows ::`[`getTotalRAM()`](#method-gettotalram) - _Получить полный объем оперативной памяти (в байтах)_ 46 | - `Windows ::`[`getFreeRAM()`](#method-getfreeram) - _Получить объем свободной оперативной памяти (в байтах)_ 47 | - `Windows ::`[`getUUID()`](#method-getuuid) - _Получить уникальный UUID системы_ 48 | - `Windows ::`[`getBIOS()`](#method-getbios) - _Получить информацию о BIOS_ 49 | - `Windows ::`[`getPrinter()`](#method-getprinter) - _Получить массив принтеров и их характеристики_ 50 | - `Windows ::`[`getProductName()`](#method-getproductname) - _Получить ProductName системы_ 51 | - `Windows ::`[`getMAC()`](#method-getmac) - _Получить MAC-адрес сетевой карты_ 52 | - `Windows ::`[`getTemperature()`](#method-gettemperature) - _Получить температуру с датчиков (желательно запускать с парвами администратора)_ 53 | - `Windows ::`[`getBootUptime()`](#method-getbootuptime) - _Получить время запуска системы_ 54 | - `Windows ::`[`getUptime()`](#method-getuptime) - _Получить время работы системы_ 55 | - `Windows ::`[`getBatteryInfo()`](#method-getbatteryinfo) - _Получить данные о встроенной батарее_ 56 | - `Windows ::`[`getBatteryTimeRemaining()`](#method-getbatterytimeremaining) - _Получить предположительное оставшееся время работы._ 57 | - `Windows ::`[`getBatteryPercent()`](#method-getbatterypercent) - _Получить процент заряда батареи_ 58 | - `Windows ::`[`getBatteryVoltage()`](#method-getbatteryvoltage) - _Получить напряжение батареи_ 59 | - `Windows ::`[`isBatteryCharging()`](#method-isbatterycharging) - _Находится ли батарея на зарядке_ 60 | - `Windows ::`[`createShortcut()`](#method-createshortcut) - _Создать lnk-ярлык (ссылку на файл)_ 61 | - `Windows ::`[`getShortcutTarget()`](#method-getshortcuttarget) - _Получить ссылку на файл lnk-ярлыка_ 62 | - `Windows ::`[`speak()`](#method-speak) **common.deprecated** - _Проговорить текст_ 63 | - `Windows ::`[`setBrightnessLevel()`](#method-setbrightnesslevel) - _Установить уровень яркости (Windows 10 only)_ 64 | - `Windows ::`[`getBrightnessLevel()`](#method-getbrightnesslevel) - _Получить уровень яркости (Windows 10 only)_ 65 | - `Windows ::`[`setVolumeLevel()`](#method-setvolumelevel) - _Установить уровень громкости (Windows 10 only)_ 66 | - `Windows ::`[`getVolumeLevel()`](#method-getvolumelevel) - _Получить уровень громкости (Windows 10 only)_ 67 | - `Windows ::`[`setMute()`](#method-setmute) - _Включить / выключить режим "без звука"_ 68 | - `Windows ::`[`getMute()`](#method-getmute) - _Проверить, включен ли режим "без звука"_ 69 | - `Windows ::`[`psAudioQuery()`](#method-psaudioquery) 70 | - `Windows ::`[`setTime()`](#method-settime) - _Установить системное время (нужны права администратора)_ 71 | - `Windows ::`[`setDate()`](#method-setdate) - _Установить системную дату (нужны права администратора)_ 72 | - `Windows ::`[`extractIcon()`](#method-extracticon) - _Извлекает и сохраняет отображаемую в проводнике иконку файла_ 73 | - `Windows ::`[`getWallpaperPath()`](#method-getwallpaperpath) - _Получить системный путь, по которому расположено изображение с обоями_ 74 | - `Windows ::`[`getWallpaper()`](#method-getwallpaper) - _Получить изображение с текущими обоями_ 75 | - `Windows ::`[`setWallpaper()`](#method-setwallpaper) - _Установить обои_ 76 | - `Windows ::`[`updateDesktopWallpaper()`](#method-updatedesktopwallpaper) - _Визуальное обновление обоев на рабочем столе_ 77 | - `Windows ::`[`getSystem32()`](#method-getsystem32) - _Путь к системной папке windows\system32_ 78 | - `Windows ::`[`getSystemDrive()`](#method-getsystemdrive) - _Возвращает букву системного диска_ 79 | - `Windows ::`[`getSysNative()`](#method-getsysnative) - _Если 32-битный процесс запущен в 64-битной системе, то он не может_ 80 | - `Windows ::`[`ping()`](#method-ping) - _Ping_ 81 | - `Windows ::`[`isInternetAvaliable()`](#method-isinternetavaliable) - _Проверить наличие Интернет-соединения_ 82 | - `Windows ::`[`getKeyboardLayout()`](#method-getkeyboardlayout) - _Получить код раскладки клавиатуры_ 83 | - `Windows ::`[`getKeyboardLayoutName()`](#method-getkeyboardlayoutname) - _Получить название раскладки клавиатуры_ 84 | - `Windows ::`[`getProductKey()`](#method-getproductkey) - _Возвращает ProductKey системы_ 85 | - `Windows ::`[`getProductVersion()`](#method-getproductversion) - _Возвращает номер версии ОС_ 86 | - `Windows ::`[`getProductBuild()`](#method-getproductbuild) - _Возвращает номер сборки ОС_ 87 | - `Windows ::`[`pressKey()`](#method-presskey) - _Имитирует нажатие на кнопку_ 88 | - `Windows ::`[`shutdown()`](#method-shutdown) - _Выключить ПК_ 89 | - `Windows ::`[`reboot()`](#method-reboot) - _Перезагрузить ПК_ 90 | 91 | --- 92 | # Статичные Методы 93 | 94 | 95 | 96 | ### expandEnv() 97 | ```php 98 | Windows::expandEnv(string $string): string 99 | ``` 100 | Раскрывает системные переменные (%TEMP%, %APPDATA% и т.д.) 101 | 102 | --- 103 | 104 | 105 | 106 | ### isWin() 107 | ```php 108 | Windows::isWin(): bool 109 | ``` 110 | Проверить, относится ли текущая система к семейству OS Windows 111 | 112 | --- 113 | 114 | 115 | 116 | ### isAdmin() 117 | ```php 118 | Windows::isAdmin(): bool 119 | ``` 120 | Проверить, запущена ли программа от имени администратора 121 | 122 | --- 123 | 124 | 125 | 126 | ### runAsAdmin() 127 | ```php 128 | Windows::runAsAdmin(string $file, array $args, string $workDir): void 129 | ``` 130 | Запустить процесс от имени администратора 131 | 132 | --- 133 | 134 | 135 | 136 | ### requireAdmin() 137 | ```php 138 | Windows::requireAdmin(): void 139 | ``` 140 | Перезапускает текущую программу с требованием прав администратора 141 | 142 | --- 143 | 144 | 145 | 146 | ### getArch() 147 | ```php 148 | Windows::getArch(): string 149 | ``` 150 | Получить разрядность системы 151 | 152 | --- 153 | 154 | 155 | 156 | ### getTemp() 157 | ```php 158 | Windows::getTemp(): string 159 | ``` 160 | Получить путь ко временной папке 161 | 162 | --- 163 | 164 | 165 | 166 | ### getUsers() 167 | ```php 168 | Windows::getUsers(): array 169 | ``` 170 | Получить список пользователей на данном ПК 171 | 172 | --- 173 | 174 | 175 | 176 | ### getDriveSerial() 177 | ```php 178 | Windows::getDriveSerial(string $drive): string 179 | ``` 180 | Получить серийный номер носителя 181 | 182 | --- 183 | 184 | 185 | 186 | ### getDrives() 187 | ```php 188 | Windows::getDrives(): array 189 | ``` 190 | Получить список подключенных дисков и их характеристик 191 | 192 | --- 193 | 194 | 195 | 196 | ### getOS() 197 | ```php 198 | Windows::getOS(): array 199 | ``` 200 | Получить характеристики операционной системы 201 | 202 | --- 203 | 204 | 205 | 206 | ### getMotherboard() 207 | ```php 208 | Windows::getMotherboard(): string 209 | ``` 210 | Получить характеристики материнской платы 211 | 212 | --- 213 | 214 | 215 | 216 | ### getMotherboardSerial() 217 | ```php 218 | Windows::getMotherboardSerial(): string 219 | ``` 220 | Получить серийный номер материнской платы 221 | 222 | --- 223 | 224 | 225 | 226 | ### getMotherboardManufacturer() 227 | ```php 228 | Windows::getMotherboardManufacturer(): string 229 | ``` 230 | Получить производителя материнской платы 231 | 232 | --- 233 | 234 | 235 | 236 | ### getMotherboardProduct() 237 | ```php 238 | Windows::getMotherboardProduct(): string 239 | ``` 240 | Получить модель материнской платы 241 | 242 | --- 243 | 244 | 245 | 246 | ### getCpuVoltage() 247 | ```php 248 | Windows::getCpuVoltage(): string 249 | ``` 250 | Получить вольтаж процессора 251 | 252 | --- 253 | 254 | 255 | 256 | ### getCpuManufacturer() 257 | ```php 258 | Windows::getCpuManufacturer(): string 259 | ``` 260 | Получить производителя процессора 261 | 262 | --- 263 | 264 | 265 | 266 | ### getCpuFrequency() 267 | ```php 268 | Windows::getCpuFrequency(): string 269 | ``` 270 | Получить максимальную частоту процессора 271 | 272 | --- 273 | 274 | 275 | 276 | ### getCpuSerial() 277 | ```php 278 | Windows::getCpuSerial(): string 279 | ``` 280 | Получить серийный номер процессора 281 | 282 | --- 283 | 284 | 285 | 286 | ### getCpuProduct() 287 | ```php 288 | Windows::getCpuProduct(): string 289 | ``` 290 | Получить модель процессора 291 | 292 | --- 293 | 294 | 295 | 296 | ### getCPU() 297 | ```php 298 | Windows::getCPU(): string 299 | ``` 300 | Получить характеристики процессора 301 | 302 | --- 303 | 304 | 305 | 306 | ### getVideoProduct() 307 | ```php 308 | Windows::getVideoProduct(): string 309 | ``` 310 | Получить модель (первой) видеокарты 311 | 312 | --- 313 | 314 | 315 | 316 | ### getVideoManufacturer() 317 | ```php 318 | Windows::getVideoManufacturer(): string 319 | ``` 320 | Получить производителя (первой) видеокарты 321 | 322 | --- 323 | 324 | 325 | 326 | ### getVideoRAM() 327 | ```php 328 | Windows::getVideoRAM(): string 329 | ``` 330 | Получить память (первой) видеокарты 331 | 332 | --- 333 | 334 | 335 | 336 | ### getVideoMode() 337 | ```php 338 | Windows::getVideoMode(): string 339 | ``` 340 | Получить разрешение (первой) видеокарты 341 | 342 | --- 343 | 344 | 345 | 346 | ### getVideo() 347 | ```php 348 | Windows::getVideo(): string 349 | ``` 350 | Получить характеристики всех подключенных видеокарт 351 | 352 | --- 353 | 354 | 355 | 356 | ### getSound() 357 | ```php 358 | Windows::getSound(): string 359 | ``` 360 | Получить характеристики звуковых устройств 361 | 362 | --- 363 | 364 | 365 | 366 | ### getRAM() 367 | ```php 368 | Windows::getRAM(): array 369 | ``` 370 | Получить характеристики устройств оперативной памяти 371 | 372 | --- 373 | 374 | 375 | 376 | ### getTotalRAM() 377 | ```php 378 | Windows::getTotalRAM(): int 379 | ``` 380 | Получить полный объем оперативной памяти (в байтах) 381 | 382 | --- 383 | 384 | 385 | 386 | ### getFreeRAM() 387 | ```php 388 | Windows::getFreeRAM(): int 389 | ``` 390 | Получить объем свободной оперативной памяти (в байтах) 391 | 392 | --- 393 | 394 | 395 | 396 | ### getUUID() 397 | ```php 398 | Windows::getUUID(): string 399 | ``` 400 | Получить уникальный UUID системы 401 | 402 | --- 403 | 404 | 405 | 406 | ### getBIOS() 407 | ```php 408 | Windows::getBIOS(): array 409 | ``` 410 | Получить информацию о BIOS 411 | 412 | --- 413 | 414 | 415 | 416 | ### getPrinter() 417 | ```php 418 | Windows::getPrinter(): array 419 | ``` 420 | Получить массив принтеров и их характеристики 421 | 422 | --- 423 | 424 | 425 | 426 | ### getProductName() 427 | ```php 428 | Windows::getProductName(): string 429 | ``` 430 | Получить ProductName системы 431 | 432 | --- 433 | 434 | 435 | 436 | ### getMAC() 437 | ```php 438 | Windows::getMAC(): string 439 | ``` 440 | Получить MAC-адрес сетевой карты 441 | 442 | --- 443 | 444 | 445 | 446 | ### getTemperature() 447 | ```php 448 | Windows::getTemperature(): array 449 | ``` 450 | Получить температуру с датчиков (желательно запускать с парвами администратора) 451 | 452 | --- 453 | 454 | 455 | 456 | ### getBootUptime() 457 | ```php 458 | Windows::getBootUptime(): int 459 | ``` 460 | Получить время запуска системы 461 | 462 | --- 463 | 464 | 465 | 466 | ### getUptime() 467 | ```php 468 | Windows::getUptime(): int 469 | ``` 470 | Получить время работы системы 471 | 472 | --- 473 | 474 | 475 | 476 | ### getBatteryInfo() 477 | ```php 478 | Windows::getBatteryInfo(): array 479 | ``` 480 | Получить данные о встроенной батарее 481 | 482 | --- 483 | 484 | 485 | 486 | ### getBatteryTimeRemaining() 487 | ```php 488 | Windows::getBatteryTimeRemaining(): int 489 | ``` 490 | Получить предположительное оставшееся время работы. 491 | 492 | --- 493 | 494 | 495 | 496 | ### getBatteryPercent() 497 | ```php 498 | Windows::getBatteryPercent(): int 499 | ``` 500 | Получить процент заряда батареи 501 | 502 | --- 503 | 504 | 505 | 506 | ### getBatteryVoltage() 507 | ```php 508 | Windows::getBatteryVoltage(): int 509 | ``` 510 | Получить напряжение батареи 511 | 512 | --- 513 | 514 | 515 | 516 | ### isBatteryCharging() 517 | ```php 518 | Windows::isBatteryCharging(): bool 519 | ``` 520 | Находится ли батарея на зарядке 521 | 522 | --- 523 | 524 | 525 | 526 | ### createShortcut() 527 | ```php 528 | Windows::createShortcut(string $shortcut, string $target, mixed $description): void 529 | ``` 530 | Создать lnk-ярлык (ссылку на файл) 531 | 532 | --- 533 | 534 | 535 | 536 | ### getShortcutTarget() 537 | ```php 538 | Windows::getShortcutTarget(string $shortcut): string 539 | ``` 540 | Получить ссылку на файл lnk-ярлыка 541 | 542 | --- 543 | 544 | 545 | 546 | ### speak() 547 | ```php 548 | Windows::speak(string $text): void 549 | ``` 550 | Проговорить текст 551 | 552 | --- 553 | 554 | 555 | 556 | ### setBrightnessLevel() 557 | ```php 558 | Windows::setBrightnessLevel(int $level, mixed $time): void 559 | ``` 560 | Установить уровень яркости (Windows 10 only) 561 | 562 | --- 563 | 564 | 565 | 566 | ### getBrightnessLevel() 567 | ```php 568 | Windows::getBrightnessLevel(): int 569 | ``` 570 | Получить уровень яркости (Windows 10 only) 571 | 572 | --- 573 | 574 | 575 | 576 | ### setVolumeLevel() 577 | ```php 578 | Windows::setVolumeLevel(int $level): void 579 | ``` 580 | Установить уровень громкости (Windows 10 only) 581 | 582 | --- 583 | 584 | 585 | 586 | ### getVolumeLevel() 587 | ```php 588 | Windows::getVolumeLevel(): int 589 | ``` 590 | Получить уровень громкости (Windows 10 only) 591 | 592 | --- 593 | 594 | 595 | 596 | ### setMute() 597 | ```php 598 | Windows::setMute(bool $value): void 599 | ``` 600 | Включить / выключить режим "без звука" 601 | 602 | --- 603 | 604 | 605 | 606 | ### getMute() 607 | ```php 608 | Windows::getMute(): bool 609 | ``` 610 | Проверить, включен ли режим "без звука" 611 | 612 | --- 613 | 614 | 615 | 616 | ### psAudioQuery() 617 | ```php 618 | Windows::psAudioQuery(mixed $key, mixed $value): void 619 | ``` 620 | 621 | --- 622 | 623 | 624 | 625 | ### setTime() 626 | ```php 627 | Windows::setTime(mixed $time): void 628 | ``` 629 | Установить системное время (нужны права администратора) 630 | 631 | --- 632 | 633 | 634 | 635 | ### setDate() 636 | ```php 637 | Windows::setDate(mixed $date): void 638 | ``` 639 | Установить системную дату (нужны права администратора) 640 | 641 | --- 642 | 643 | 644 | 645 | ### extractIcon() 646 | ```php 647 | Windows::extractIcon(string $file, string $icon): boolean 648 | ``` 649 | Извлекает и сохраняет отображаемую в проводнике иконку файла 650 | 651 | --- 652 | 653 | 654 | 655 | ### getWallpaperPath() 656 | ```php 657 | Windows::getWallpaperPath(): string 658 | ``` 659 | Получить системный путь, по которому расположено изображение с обоями 660 | 661 | --- 662 | 663 | 664 | 665 | ### getWallpaper() 666 | ```php 667 | Windows::getWallpaper(): php\gui\UXImage 668 | ``` 669 | Получить изображение с текущими обоями 670 | 671 | --- 672 | 673 | 674 | 675 | ### setWallpaper() 676 | ```php 677 | Windows::setWallpaper(string|UXImage $image): void 678 | ``` 679 | Установить обои 680 | 681 | --- 682 | 683 | 684 | 685 | ### updateDesktopWallpaper() 686 | ```php 687 | Windows::updateDesktopWallpaper(): void 688 | ``` 689 | Визуальное обновление обоев на рабочем столе 690 | (вместо перезапуска explorer'a) 691 | 692 | --- 693 | 694 | 695 | 696 | ### getSystem32() 697 | ```php 698 | Windows::getSystem32(mixed $path): string 699 | ``` 700 | Путь к системной папке windows\system32 701 | 702 | --- 703 | 704 | 705 | 706 | ### getSystemDrive() 707 | ```php 708 | Windows::getSystemDrive(): string 709 | ``` 710 | Возвращает букву системного диска 711 | 712 | --- 713 | 714 | 715 | 716 | ### getSysNative() 717 | ```php 718 | Windows::getSysNative(mixed $path): string 719 | ``` 720 | Если 32-битный процесс запущен в 64-битной системе, то он не может 721 | запустить 64 битный powershell, для этого монтируется виртуальная 722 | директория SysNative, если запустить оттуда, запущенный процесс будет 64-битный 723 | 724 | --- 725 | 726 | 727 | 728 | ### ping() 729 | ```php 730 | Windows::ping(string $domain, int $count, int $length): array 731 | ``` 732 | Ping 733 | 734 | --- 735 | 736 | 737 | 738 | ### isInternetAvaliable() 739 | ```php 740 | Windows::isInternetAvaliable(): bool 741 | ``` 742 | Проверить наличие Интернет-соединения 743 | 744 | --- 745 | 746 | 747 | 748 | ### getKeyboardLayout() 749 | ```php 750 | Windows::getKeyboardLayout(): string 751 | ``` 752 | Получить код раскладки клавиатуры 753 | 754 | --- 755 | 756 | 757 | 758 | ### getKeyboardLayoutName() 759 | ```php 760 | Windows::getKeyboardLayoutName(): string 761 | ``` 762 | Получить название раскладки клавиатуры 763 | 764 | --- 765 | 766 | 767 | 768 | ### getProductKey() 769 | ```php 770 | Windows::getProductKey(): string 771 | ``` 772 | Возвращает ProductKey системы 773 | 774 | --- 775 | 776 | 777 | 778 | ### getProductVersion() 779 | ```php 780 | Windows::getProductVersion(): int 781 | ``` 782 | Возвращает номер версии ОС 783 | 784 | --- 785 | 786 | 787 | 788 | ### getProductBuild() 789 | ```php 790 | Windows::getProductBuild(): int 791 | ``` 792 | Возвращает номер сборки ОС 793 | 794 | --- 795 | 796 | 797 | 798 | ### pressKey() 799 | ```php 800 | Windows::pressKey(int $keyCode): void 801 | ``` 802 | Имитирует нажатие на кнопку 803 | 804 | --- 805 | 806 | 807 | 808 | ### shutdown() 809 | ```php 810 | Windows::shutdown(): void 811 | ``` 812 | Выключить ПК 813 | 814 | --- 815 | 816 | 817 | 818 | ### reboot() 819 | ```php 820 | Windows::reboot(): void 821 | ``` 822 | Перезагрузить ПК -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/WindowsException.md: -------------------------------------------------------------------------------- 1 | # WindowsException 2 | 3 | - **class** `WindowsException` (`bundle\windows\WindowsException`) **extends** `Exception` (`Exception`) 4 | - **package** `windows` 5 | - **source** `bundle/windows/WindowsException.php` 6 | 7 | **Description** 8 | 9 | Класс исключения, выбрасываемого функциями пакета Windows -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/WindowsException.ru.md: -------------------------------------------------------------------------------- 1 | # WindowsException 2 | 3 | - **класс** `WindowsException` (`bundle\windows\WindowsException`) **унаследован от** `Exception` (`Exception`) 4 | - **пакет** `windows` 5 | - **исходники** `bundle/windows/WindowsException.php` 6 | 7 | **Описание** 8 | 9 | Класс исключения, выбрасываемого функциями пакета Windows -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/WindowsScriptHost.md: -------------------------------------------------------------------------------- 1 | # WindowsScriptHost 2 | 3 | - **class** `WindowsScriptHost` (`bundle\windows\WindowsScriptHost`) 4 | - **package** `windows` 5 | - **source** `bundle/windows/WindowsScriptHost.php` 6 | 7 | **Description** 8 | 9 | Методы класса позволяют вызывать функции API Windows, выполнять системные скрипты 10 | 11 | --- 12 | 13 | #### Static Methods 14 | 15 | - `WindowsScriptHost ::`[`exec()`](#method-exec) 16 | - `WindowsScriptHost ::`[`cmd()`](#method-cmd) - _Выполнить команду_ 17 | - `WindowsScriptHost ::`[`WMIC()`](#method-wmic) - _Сделать запрос к WMI_ 18 | - `WindowsScriptHost ::`[`PowerShell()`](#method-powershell) - _Выполнить скрипт PowerShell_ 19 | - `WindowsScriptHost ::`[`vbScript()`](#method-vbscript) **common.deprecated** - _Выполнить скрипт vbScript (должен располагаться в одну строку)_ 20 | 21 | --- 22 | # Static Methods 23 | 24 | 25 | 26 | ### exec() 27 | ```php 28 | WindowsScriptHost::exec(mixed $cmd, mixed $wait, mixed $charset): void 29 | ``` 30 | 31 | --- 32 | 33 | 34 | 35 | ### cmd() 36 | ```php 37 | WindowsScriptHost::cmd(string $command, mixed $params, string $charset, string $decodeCharset): string 38 | ``` 39 | Выполнить команду 40 | 41 | --- 42 | 43 | 44 | 45 | ### WMIC() 46 | ```php 47 | WindowsScriptHost::WMIC(string $query): array 48 | ``` 49 | Сделать запрос к WMI 50 | 51 | --- 52 | 53 | 54 | 55 | ### PowerShell() 56 | ```php 57 | WindowsScriptHost::PowerShell(string $query, array $params, bool $wait): string 58 | ``` 59 | Выполнить скрипт PowerShell 60 | 61 | --- 62 | 63 | 64 | 65 | ### vbScript() 66 | ```php 67 | WindowsScriptHost::vbScript(string $query, string $params): string 68 | ``` 69 | Выполнить скрипт vbScript (должен располагаться в одну строку) -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/WindowsScriptHost.ru.md: -------------------------------------------------------------------------------- 1 | # WindowsScriptHost 2 | 3 | - **класс** `WindowsScriptHost` (`bundle\windows\WindowsScriptHost`) 4 | - **пакет** `windows` 5 | - **исходники** `bundle/windows/WindowsScriptHost.php` 6 | 7 | **Описание** 8 | 9 | Методы класса позволяют вызывать функции API Windows, выполнять системные скрипты 10 | 11 | --- 12 | 13 | #### Статичные Методы 14 | 15 | - `WindowsScriptHost ::`[`exec()`](#method-exec) 16 | - `WindowsScriptHost ::`[`cmd()`](#method-cmd) - _Выполнить команду_ 17 | - `WindowsScriptHost ::`[`WMIC()`](#method-wmic) - _Сделать запрос к WMI_ 18 | - `WindowsScriptHost ::`[`PowerShell()`](#method-powershell) - _Выполнить скрипт PowerShell_ 19 | - `WindowsScriptHost ::`[`vbScript()`](#method-vbscript) **common.deprecated** - _Выполнить скрипт vbScript (должен располагаться в одну строку)_ 20 | 21 | --- 22 | # Статичные Методы 23 | 24 | 25 | 26 | ### exec() 27 | ```php 28 | WindowsScriptHost::exec(mixed $cmd, mixed $wait, mixed $charset): void 29 | ``` 30 | 31 | --- 32 | 33 | 34 | 35 | ### cmd() 36 | ```php 37 | WindowsScriptHost::cmd(string $command, mixed $params, string $charset, string $decodeCharset): string 38 | ``` 39 | Выполнить команду 40 | 41 | --- 42 | 43 | 44 | 45 | ### WMIC() 46 | ```php 47 | WindowsScriptHost::WMIC(string $query): array 48 | ``` 49 | Сделать запрос к WMI 50 | 51 | --- 52 | 53 | 54 | 55 | ### PowerShell() 56 | ```php 57 | WindowsScriptHost::PowerShell(string $query, array $params, bool $wait): string 58 | ``` 59 | Выполнить скрипт PowerShell 60 | 61 | --- 62 | 63 | 64 | 65 | ### vbScript() 66 | ```php 67 | WindowsScriptHost::vbScript(string $query, string $params): string 68 | ``` 69 | Выполнить скрипт vbScript (должен располагаться в одну строку) -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Wlan.md: -------------------------------------------------------------------------------- 1 | # Wlan 2 | 3 | - **class** `Wlan` (`bundle\windows\Wlan`) 4 | - **package** `windows` 5 | - **source** `bundle/windows/Wlan.php` 6 | 7 | **Description** 8 | 9 | Wireless lan 10 | 11 | --- 12 | 13 | #### Static Methods 14 | 15 | - `Wlan ::`[`getInterfaces()`](#method-getinterfaces) - _Получить список интерфейсов_ 16 | - `Wlan ::`[`isSupported()`](#method-issupported) - _Есть ли оборудование для работы с беспроводными сетями_ 17 | - `Wlan ::`[`getMainInterface()`](#method-getmaininterface) - _Получить используемый беспроводной интерфейс (идёт первый в списке интерфейсов)_ 18 | 19 | --- 20 | # Static Methods 21 | 22 | 23 | 24 | ### getInterfaces() 25 | ```php 26 | Wlan::getInterfaces(): array 27 | ``` 28 | Получить список интерфейсов 29 | 30 | --- 31 | 32 | 33 | 34 | ### isSupported() 35 | ```php 36 | Wlan::isSupported(): boolean 37 | ``` 38 | Есть ли оборудование для работы с беспроводными сетями 39 | 40 | --- 41 | 42 | 43 | 44 | ### getMainInterface() 45 | ```php 46 | Wlan::getMainInterface(): bundle\windows\result\wlanInterface 47 | ``` 48 | Получить используемый беспроводной интерфейс (идёт первый в списке интерфейсов) -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/Wlan.ru.md: -------------------------------------------------------------------------------- 1 | # Wlan 2 | 3 | - **класс** `Wlan` (`bundle\windows\Wlan`) 4 | - **пакет** `windows` 5 | - **исходники** `bundle/windows/Wlan.php` 6 | 7 | **Описание** 8 | 9 | Wireless lan 10 | 11 | --- 12 | 13 | #### Статичные Методы 14 | 15 | - `Wlan ::`[`getInterfaces()`](#method-getinterfaces) - _Получить список интерфейсов_ 16 | - `Wlan ::`[`isSupported()`](#method-issupported) - _Есть ли оборудование для работы с беспроводными сетями_ 17 | - `Wlan ::`[`getMainInterface()`](#method-getmaininterface) - _Получить используемый беспроводной интерфейс (идёт первый в списке интерфейсов)_ 18 | 19 | --- 20 | # Статичные Методы 21 | 22 | 23 | 24 | ### getInterfaces() 25 | ```php 26 | Wlan::getInterfaces(): array 27 | ``` 28 | Получить список интерфейсов 29 | 30 | --- 31 | 32 | 33 | 34 | ### isSupported() 35 | ```php 36 | Wlan::isSupported(): boolean 37 | ``` 38 | Есть ли оборудование для работы с беспроводными сетями 39 | 40 | --- 41 | 42 | 43 | 44 | ### getMainInterface() 45 | ```php 46 | Wlan::getMainInterface(): bundle\windows\result\wlanInterface 47 | ``` 48 | Получить используемый беспроводной интерфейс (идёт первый в списке интерфейсов) -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/abstractItem.md: -------------------------------------------------------------------------------- 1 | # abstractItem 2 | 3 | - **class** `abstractItem` (`bundle\windows\result\abstractItem`) 4 | - **source** `bundle/windows/result/abstractItem.php` 5 | 6 | **Child Classes** 7 | 8 | > [comItem](classes/bundle/windows/result/comItem.md), [registryItem](classes/bundle/windows/result/registryItem.md), [startupItem](classes/bundle/windows/result/startupItem.md), [taskItem](classes/bundle/windows/result/taskItem.md) 9 | 10 | --- 11 | 12 | #### Methods 13 | 14 | - `->`[`toArray()`](#method-toarray) 15 | 16 | --- 17 | # Methods 18 | 19 | 20 | 21 | ### toArray() 22 | ```php 23 | toArray(): array 24 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/abstractItem.ru.md: -------------------------------------------------------------------------------- 1 | # abstractItem 2 | 3 | - **класс** `abstractItem` (`bundle\windows\result\abstractItem`) 4 | - **исходники** `bundle/windows/result/abstractItem.php` 5 | 6 | **Классы наследники** 7 | 8 | > [comItem](classes/bundle/windows/result/comItem.ru.md), [registryItem](classes/bundle/windows/result/registryItem.ru.md), [startupItem](classes/bundle/windows/result/startupItem.ru.md), [taskItem](classes/bundle/windows/result/taskItem.ru.md) 9 | 10 | --- 11 | 12 | #### Методы 13 | 14 | - `->`[`toArray()`](#method-toarray) 15 | 16 | --- 17 | # Методы 18 | 19 | 20 | 21 | ### toArray() 22 | ```php 23 | toArray(): array 24 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/abstractResult.md: -------------------------------------------------------------------------------- 1 | # abstractResult 2 | 3 | - **class** `abstractResult` (`bundle\windows\result\abstractResult`) 4 | - **source** `bundle/windows/result/abstractResult.php` 5 | 6 | **Child Classes** 7 | 8 | > [registryResult](classes/bundle/windows/result/registryResult.md), [taskResult](classes/bundle/windows/result/taskResult.md) 9 | 10 | --- 11 | 12 | #### Properties 13 | 14 | - `->`[`data`](#prop-data) : `mixed` 15 | 16 | --- 17 | 18 | #### Methods 19 | 20 | - `->`[`add()`](#method-add) 21 | - `->`[`first()`](#method-first) 22 | - `->`[`rewind()`](#method-rewind) 23 | - `->`[`length()`](#method-length) 24 | - `->`[`current()`](#method-current) 25 | - `->`[`key()`](#method-key) 26 | - `->`[`next()`](#method-next) 27 | - `->`[`valid()`](#method-valid) 28 | - `->`[`toArray()`](#method-toarray) 29 | 30 | --- 31 | # Methods 32 | 33 | 34 | 35 | ### add() 36 | ```php 37 | add(mixed $key, mixed $value): void 38 | ``` 39 | 40 | --- 41 | 42 | 43 | 44 | ### first() 45 | ```php 46 | first(): void 47 | ``` 48 | 49 | --- 50 | 51 | 52 | 53 | ### rewind() 54 | ```php 55 | rewind(): void 56 | ``` 57 | 58 | --- 59 | 60 | 61 | 62 | ### length() 63 | ```php 64 | length(): void 65 | ``` 66 | 67 | --- 68 | 69 | 70 | 71 | ### current() 72 | ```php 73 | current(): void 74 | ``` 75 | 76 | --- 77 | 78 | 79 | 80 | ### key() 81 | ```php 82 | key(): void 83 | ``` 84 | 85 | --- 86 | 87 | 88 | 89 | ### next() 90 | ```php 91 | next(): void 92 | ``` 93 | 94 | --- 95 | 96 | 97 | 98 | ### valid() 99 | ```php 100 | valid(): void 101 | ``` 102 | 103 | --- 104 | 105 | 106 | 107 | ### toArray() 108 | ```php 109 | toArray(): void 110 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/abstractResult.ru.md: -------------------------------------------------------------------------------- 1 | # abstractResult 2 | 3 | - **класс** `abstractResult` (`bundle\windows\result\abstractResult`) 4 | - **исходники** `bundle/windows/result/abstractResult.php` 5 | 6 | **Классы наследники** 7 | 8 | > [registryResult](classes/bundle/windows/result/registryResult.ru.md), [taskResult](classes/bundle/windows/result/taskResult.ru.md) 9 | 10 | --- 11 | 12 | #### Свойства 13 | 14 | - `->`[`data`](#prop-data) : `mixed` 15 | 16 | --- 17 | 18 | #### Методы 19 | 20 | - `->`[`add()`](#method-add) 21 | - `->`[`first()`](#method-first) 22 | - `->`[`rewind()`](#method-rewind) 23 | - `->`[`length()`](#method-length) 24 | - `->`[`current()`](#method-current) 25 | - `->`[`key()`](#method-key) 26 | - `->`[`next()`](#method-next) 27 | - `->`[`valid()`](#method-valid) 28 | - `->`[`toArray()`](#method-toarray) 29 | 30 | --- 31 | # Методы 32 | 33 | 34 | 35 | ### add() 36 | ```php 37 | add(mixed $key, mixed $value): void 38 | ``` 39 | 40 | --- 41 | 42 | 43 | 44 | ### first() 45 | ```php 46 | first(): void 47 | ``` 48 | 49 | --- 50 | 51 | 52 | 53 | ### rewind() 54 | ```php 55 | rewind(): void 56 | ``` 57 | 58 | --- 59 | 60 | 61 | 62 | ### length() 63 | ```php 64 | length(): void 65 | ``` 66 | 67 | --- 68 | 69 | 70 | 71 | ### current() 72 | ```php 73 | current(): void 74 | ``` 75 | 76 | --- 77 | 78 | 79 | 80 | ### key() 81 | ```php 82 | key(): void 83 | ``` 84 | 85 | --- 86 | 87 | 88 | 89 | ### next() 90 | ```php 91 | next(): void 92 | ``` 93 | 94 | --- 95 | 96 | 97 | 98 | ### valid() 99 | ```php 100 | valid(): void 101 | ``` 102 | 103 | --- 104 | 105 | 106 | 107 | ### toArray() 108 | ```php 109 | toArray(): void 110 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/comItem.md: -------------------------------------------------------------------------------- 1 | # comItem 2 | 3 | - **class** `comItem` (`bundle\windows\result\comItem`) **extends** [`abstractItem`](classes/bundle/windows/result/abstractItem.md) 4 | - **source** `bundle/windows/result/comItem.php` 5 | 6 | --- 7 | 8 | #### Properties 9 | 10 | - `->`[`port`](#prop-port) : `string` - _Порт_ 11 | - `->`[`params`](#prop-params) : `array` - _Параметры порта_ 12 | - *See also in the parent class* [abstractItem](classes/bundle/windows/result/abstractItem.md). 13 | 14 | --- 15 | 16 | #### Methods 17 | 18 | - `->`[`__construct()`](#method-__construct) 19 | - `->`[`getPort()`](#method-getport) - _Port_ 20 | - `->`[`getParams()`](#method-getparams) - _Port params_ 21 | - `->`[`connect()`](#method-connect) - _Подключиться к порту_ 22 | - `->`[`setBaud()`](#method-setbaud) - _Установить скорость порта (бод)_ 23 | - `->`[`__toString()`](#method-__tostring) 24 | - See also in the parent class [abstractItem](classes/bundle/windows/result/abstractItem.md) 25 | 26 | --- 27 | # Methods 28 | 29 | 30 | 31 | ### __construct() 32 | ```php 33 | __construct(mixed $port, mixed $params): void 34 | ``` 35 | 36 | --- 37 | 38 | 39 | 40 | ### getPort() 41 | ```php 42 | getPort(): string 43 | ``` 44 | Port 45 | 46 | --- 47 | 48 | 49 | 50 | ### getParams() 51 | ```php 52 | getParams(): array 53 | ``` 54 | Port params 55 | 56 | --- 57 | 58 | 59 | 60 | ### connect() 61 | ```php 62 | connect(mixed $mode): php\io\MiscStream 63 | ``` 64 | Подключиться к порту 65 | 66 | --- 67 | 68 | 69 | 70 | ### setBaud() 71 | ```php 72 | setBaud(int $baud): void 73 | ``` 74 | Установить скорость порта (бод) 75 | 76 | --- 77 | 78 | 79 | 80 | ### __toString() 81 | ```php 82 | __toString(): void 83 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/comItem.ru.md: -------------------------------------------------------------------------------- 1 | # comItem 2 | 3 | - **класс** `comItem` (`bundle\windows\result\comItem`) **унаследован от** [`abstractItem`](classes/bundle/windows/result/abstractItem.ru.md) 4 | - **исходники** `bundle/windows/result/comItem.php` 5 | 6 | --- 7 | 8 | #### Свойства 9 | 10 | - `->`[`port`](#prop-port) : `string` - _Порт_ 11 | - `->`[`params`](#prop-params) : `array` - _Параметры порта_ 12 | - *См. также в родительском классе* [abstractItem](classes/bundle/windows/result/abstractItem.ru.md). 13 | 14 | --- 15 | 16 | #### Методы 17 | 18 | - `->`[`__construct()`](#method-__construct) 19 | - `->`[`getPort()`](#method-getport) - _Порт_ 20 | - `->`[`getParams()`](#method-getparams) - _Параметры_ 21 | - `->`[`connect()`](#method-connect) - _Подключиться к порту_ 22 | - `->`[`setBaud()`](#method-setbaud) - _Установить скорость порта (бод)_ 23 | - `->`[`__toString()`](#method-__tostring) 24 | - См. также в родительском классе [abstractItem](classes/bundle/windows/result/abstractItem.ru.md) 25 | 26 | --- 27 | # Методы 28 | 29 | 30 | 31 | ### __construct() 32 | ```php 33 | __construct(mixed $port, mixed $params): void 34 | ``` 35 | 36 | --- 37 | 38 | 39 | 40 | ### getPort() 41 | ```php 42 | getPort(): string 43 | ``` 44 | Порт 45 | 46 | --- 47 | 48 | 49 | 50 | ### getParams() 51 | ```php 52 | getParams(): array 53 | ``` 54 | Параметры 55 | 56 | --- 57 | 58 | 59 | 60 | ### connect() 61 | ```php 62 | connect(mixed $mode): php\io\MiscStream 63 | ``` 64 | Подключиться к порту 65 | 66 | --- 67 | 68 | 69 | 70 | ### setBaud() 71 | ```php 72 | setBaud(int $baud): void 73 | ``` 74 | Установить скорость порта (бод) 75 | 76 | --- 77 | 78 | 79 | 80 | ### __toString() 81 | ```php 82 | __toString(): void 83 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/lanAdapter.md: -------------------------------------------------------------------------------- 1 | # lanAdapter 2 | 3 | - **class** `lanAdapter` (`bundle\windows\result\lanAdapter`) 4 | - **source** `bundle/windows/result/lanAdapter.php` 5 | 6 | --- 7 | 8 | #### Properties 9 | 10 | - `->`[`name`](#prop-name) : `mixed` 11 | - `->`[`device`](#prop-device) : `mixed` 12 | - `->`[`params`](#prop-params) : `mixed` 13 | - `->`[`ipv4`](#prop-ipv4) : `mixed` 14 | - `->`[`ipv6`](#prop-ipv6) : `mixed` 15 | - `->`[`mac`](#prop-mac) : `mixed` 16 | 17 | --- 18 | 19 | #### Methods 20 | 21 | - `->`[`__construct()`](#method-__construct) 22 | - `->`[`getName()`](#method-getname) - _Получить имя адаптера_ 23 | - `->`[`getParams()`](#method-getparams) - _Получить параметры адаптера_ 24 | - `->`[`getDevice()`](#method-getdevice) - _Получить описание устройства_ 25 | - `->`[`getMac()`](#method-getmac) - _Получить mac адрес_ 26 | - `->`[`getIPv4()`](#method-getipv4) - _Получить IPv4 адрес_ 27 | - `->`[`getIPv6()`](#method-getipv6) - _Получить IPv6 адрес_ 28 | - `->`[`isNetworkEnabled()`](#method-isnetworkenabled) - _Доступна ли сеть на данном адаптере_ 29 | - `->`[`isConnected()`](#method-isconnected) - _Подключен ли сетевой кабель_ 30 | - `->`[`isEnabled()`](#method-isenabled) - _Включен ли адаптер_ 31 | - `->`[`disable()`](#method-disable) - _Отключить адаптер (нужны права администратора)_ 32 | - `->`[`enable()`](#method-enable) - _Включить интерфейс (нужны права администратора)_ 33 | 34 | --- 35 | # Methods 36 | 37 | 38 | 39 | ### __construct() 40 | ```php 41 | __construct(string $name, array $params): void 42 | ``` 43 | 44 | --- 45 | 46 | 47 | 48 | ### getName() 49 | ```php 50 | getName(): string 51 | ``` 52 | Получить имя адаптера 53 | 54 | --- 55 | 56 | 57 | 58 | ### getParams() 59 | ```php 60 | getParams(): array 61 | ``` 62 | Получить параметры адаптера 63 | 64 | --- 65 | 66 | 67 | 68 | ### getDevice() 69 | ```php 70 | getDevice(): string 71 | ``` 72 | Получить описание устройства 73 | 74 | --- 75 | 76 | 77 | 78 | ### getMac() 79 | ```php 80 | getMac(): string 81 | ``` 82 | Получить mac адрес 83 | 84 | --- 85 | 86 | 87 | 88 | ### getIPv4() 89 | ```php 90 | getIPv4(): string 91 | ``` 92 | Получить IPv4 адрес 93 | 94 | --- 95 | 96 | 97 | 98 | ### getIPv6() 99 | ```php 100 | getIPv6(): string 101 | ``` 102 | Получить IPv6 адрес 103 | 104 | --- 105 | 106 | 107 | 108 | ### isNetworkEnabled() 109 | ```php 110 | isNetworkEnabled(): boolean 111 | ``` 112 | Доступна ли сеть на данном адаптере 113 | 114 | --- 115 | 116 | 117 | 118 | ### isConnected() 119 | ```php 120 | isConnected(): boolean 121 | ``` 122 | Подключен ли сетевой кабель 123 | 124 | --- 125 | 126 | 127 | 128 | ### isEnabled() 129 | ```php 130 | isEnabled(): boolean 131 | ``` 132 | Включен ли адаптер 133 | 134 | --- 135 | 136 | 137 | 138 | ### disable() 139 | ```php 140 | disable(): boolean 141 | ``` 142 | Отключить адаптер (нужны права администратора) 143 | 144 | --- 145 | 146 | 147 | 148 | ### enable() 149 | ```php 150 | enable(): boolean 151 | ``` 152 | Включить интерфейс (нужны права администратора) -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/lanAdapter.ru.md: -------------------------------------------------------------------------------- 1 | # lanAdapter 2 | 3 | - **класс** `lanAdapter` (`bundle\windows\result\lanAdapter`) 4 | - **исходники** `bundle/windows/result/lanAdapter.php` 5 | 6 | --- 7 | 8 | #### Свойства 9 | 10 | - `->`[`name`](#prop-name) : `mixed` 11 | - `->`[`device`](#prop-device) : `mixed` 12 | - `->`[`params`](#prop-params) : `mixed` 13 | - `->`[`ipv4`](#prop-ipv4) : `mixed` 14 | - `->`[`ipv6`](#prop-ipv6) : `mixed` 15 | - `->`[`mac`](#prop-mac) : `mixed` 16 | 17 | --- 18 | 19 | #### Методы 20 | 21 | - `->`[`__construct()`](#method-__construct) 22 | - `->`[`getName()`](#method-getname) - _Получить имя адаптера_ 23 | - `->`[`getParams()`](#method-getparams) - _Получить параметры адаптера_ 24 | - `->`[`getDevice()`](#method-getdevice) - _Получить описание устройства_ 25 | - `->`[`getMac()`](#method-getmac) - _Получить mac адрес_ 26 | - `->`[`getIPv4()`](#method-getipv4) - _Получить IPv4 адрес_ 27 | - `->`[`getIPv6()`](#method-getipv6) - _Получить IPv6 адрес_ 28 | - `->`[`isNetworkEnabled()`](#method-isnetworkenabled) - _Доступна ли сеть на данном адаптере_ 29 | - `->`[`isConnected()`](#method-isconnected) - _Подключен ли сетевой кабель_ 30 | - `->`[`isEnabled()`](#method-isenabled) - _Включен ли адаптер_ 31 | - `->`[`disable()`](#method-disable) - _Отключить адаптер (нужны права администратора)_ 32 | - `->`[`enable()`](#method-enable) - _Включить интерфейс (нужны права администратора)_ 33 | 34 | --- 35 | # Методы 36 | 37 | 38 | 39 | ### __construct() 40 | ```php 41 | __construct(string $name, array $params): void 42 | ``` 43 | 44 | --- 45 | 46 | 47 | 48 | ### getName() 49 | ```php 50 | getName(): string 51 | ``` 52 | Получить имя адаптера 53 | 54 | --- 55 | 56 | 57 | 58 | ### getParams() 59 | ```php 60 | getParams(): array 61 | ``` 62 | Получить параметры адаптера 63 | 64 | --- 65 | 66 | 67 | 68 | ### getDevice() 69 | ```php 70 | getDevice(): string 71 | ``` 72 | Получить описание устройства 73 | 74 | --- 75 | 76 | 77 | 78 | ### getMac() 79 | ```php 80 | getMac(): string 81 | ``` 82 | Получить mac адрес 83 | 84 | --- 85 | 86 | 87 | 88 | ### getIPv4() 89 | ```php 90 | getIPv4(): string 91 | ``` 92 | Получить IPv4 адрес 93 | 94 | --- 95 | 96 | 97 | 98 | ### getIPv6() 99 | ```php 100 | getIPv6(): string 101 | ``` 102 | Получить IPv6 адрес 103 | 104 | --- 105 | 106 | 107 | 108 | ### isNetworkEnabled() 109 | ```php 110 | isNetworkEnabled(): boolean 111 | ``` 112 | Доступна ли сеть на данном адаптере 113 | 114 | --- 115 | 116 | 117 | 118 | ### isConnected() 119 | ```php 120 | isConnected(): boolean 121 | ``` 122 | Подключен ли сетевой кабель 123 | 124 | --- 125 | 126 | 127 | 128 | ### isEnabled() 129 | ```php 130 | isEnabled(): boolean 131 | ``` 132 | Включен ли адаптер 133 | 134 | --- 135 | 136 | 137 | 138 | ### disable() 139 | ```php 140 | disable(): boolean 141 | ``` 142 | Отключить адаптер (нужны права администратора) 143 | 144 | --- 145 | 146 | 147 | 148 | ### enable() 149 | ```php 150 | enable(): boolean 151 | ``` 152 | Включить интерфейс (нужны права администратора) -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/registryItem.md: -------------------------------------------------------------------------------- 1 | # registryItem 2 | 3 | - **class** `registryItem` (`bundle\windows\result\registryItem`) **extends** [`abstractItem`](classes/bundle/windows/result/abstractItem.md) 4 | - **source** `bundle/windows/result/registryItem.php` 5 | 6 | --- 7 | 8 | #### Properties 9 | 10 | - `->`[`key`](#prop-key) : `mixed` - _Ключ_ 11 | - `->`[`value`](#prop-value) : `mixed` - _Значение_ 12 | - `->`[`type`](#prop-type) : `string` - _Тип значения_ 13 | - *See also in the parent class* [abstractItem](classes/bundle/windows/result/abstractItem.md). 14 | 15 | --- 16 | 17 | #### Methods 18 | 19 | - `->`[`__construct()`](#method-__construct) 20 | - `->`[`getType()`](#method-gettype) - _Type._ 21 | - `->`[`getKey()`](#method-getkey) - _Key name._ 22 | - `->`[`getValue()`](#method-getvalue) - _Value._ 23 | - `->`[`__toString()`](#method-__tostring) 24 | - See also in the parent class [abstractItem](classes/bundle/windows/result/abstractItem.md) 25 | 26 | --- 27 | # Methods 28 | 29 | 30 | 31 | ### __construct() 32 | ```php 33 | __construct(mixed $key, mixed $type, mixed $value): void 34 | ``` 35 | 36 | --- 37 | 38 | 39 | 40 | ### getType() 41 | ```php 42 | getType(): string 43 | ``` 44 | Type. 45 | 46 | --- 47 | 48 | 49 | 50 | ### getKey() 51 | ```php 52 | getKey(): string 53 | ``` 54 | Key name. 55 | 56 | --- 57 | 58 | 59 | 60 | ### getValue() 61 | ```php 62 | getValue(): string 63 | ``` 64 | Value. 65 | 66 | --- 67 | 68 | 69 | 70 | ### __toString() 71 | ```php 72 | __toString(): void 73 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/registryItem.ru.md: -------------------------------------------------------------------------------- 1 | # registryItem 2 | 3 | - **класс** `registryItem` (`bundle\windows\result\registryItem`) **унаследован от** [`abstractItem`](classes/bundle/windows/result/abstractItem.ru.md) 4 | - **исходники** `bundle/windows/result/registryItem.php` 5 | 6 | --- 7 | 8 | #### Свойства 9 | 10 | - `->`[`key`](#prop-key) : `mixed` - _Ключ_ 11 | - `->`[`value`](#prop-value) : `mixed` - _Значение_ 12 | - `->`[`type`](#prop-type) : `string` - _Тип значения_ 13 | - *См. также в родительском классе* [abstractItem](classes/bundle/windows/result/abstractItem.ru.md). 14 | 15 | --- 16 | 17 | #### Методы 18 | 19 | - `->`[`__construct()`](#method-__construct) 20 | - `->`[`getType()`](#method-gettype) - _Тип_ 21 | - `->`[`getKey()`](#method-getkey) - _Название ключа._ 22 | - `->`[`getValue()`](#method-getvalue) - _Значение._ 23 | - `->`[`__toString()`](#method-__tostring) 24 | - См. также в родительском классе [abstractItem](classes/bundle/windows/result/abstractItem.ru.md) 25 | 26 | --- 27 | # Методы 28 | 29 | 30 | 31 | ### __construct() 32 | ```php 33 | __construct(mixed $key, mixed $type, mixed $value): void 34 | ``` 35 | 36 | --- 37 | 38 | 39 | 40 | ### getType() 41 | ```php 42 | getType(): string 43 | ``` 44 | Тип 45 | 46 | --- 47 | 48 | 49 | 50 | ### getKey() 51 | ```php 52 | getKey(): string 53 | ``` 54 | Название ключа. 55 | 56 | --- 57 | 58 | 59 | 60 | ### getValue() 61 | ```php 62 | getValue(): string 63 | ``` 64 | Значение. 65 | 66 | --- 67 | 68 | 69 | 70 | ### __toString() 71 | ```php 72 | __toString(): void 73 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/registryResult.md: -------------------------------------------------------------------------------- 1 | # registryResult 2 | 3 | - **class** `registryResult` (`bundle\windows\result\registryResult`) **extends** [`abstractResult`](classes/bundle/windows/result/abstractResult.md) 4 | - **source** `bundle/windows/result/registryResult.php` 5 | 6 | --- 7 | 8 | #### Properties 9 | 10 | - `->`[`path`](#prop-path) : `string` 11 | - *See also in the parent class* [abstractResult](classes/bundle/windows/result/abstractResult.md). 12 | 13 | --- 14 | 15 | #### Methods 16 | 17 | - `->`[`__construct()`](#method-__construct) 18 | - `->`[`addData()`](#method-adddata) 19 | - `->`[`toArray()`](#method-toarray) 20 | - `->`[`getPath()`](#method-getpath) - _Get path_ 21 | - `->`[`registry()`](#method-registry) - _Вернуть класс Registry для текущего пути_ 22 | - See also in the parent class [abstractResult](classes/bundle/windows/result/abstractResult.md) 23 | 24 | --- 25 | # Methods 26 | 27 | 28 | 29 | ### __construct() 30 | ```php 31 | __construct(mixed $path): void 32 | ``` 33 | 34 | --- 35 | 36 | 37 | 38 | ### addData() 39 | ```php 40 | addData(mixed $key, mixed $type, mixed $value): void 41 | ``` 42 | 43 | --- 44 | 45 | 46 | 47 | ### toArray() 48 | ```php 49 | toArray(): void 50 | ``` 51 | 52 | --- 53 | 54 | 55 | 56 | ### getPath() 57 | ```php 58 | getPath(): string 59 | ``` 60 | Get path 61 | 62 | --- 63 | 64 | 65 | 66 | ### registry() 67 | ```php 68 | registry(): Registry 69 | ``` 70 | Вернуть класс Registry для текущего пути -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/registryResult.ru.md: -------------------------------------------------------------------------------- 1 | # registryResult 2 | 3 | - **класс** `registryResult` (`bundle\windows\result\registryResult`) **унаследован от** [`abstractResult`](classes/bundle/windows/result/abstractResult.ru.md) 4 | - **исходники** `bundle/windows/result/registryResult.php` 5 | 6 | --- 7 | 8 | #### Свойства 9 | 10 | - `->`[`path`](#prop-path) : `string` 11 | - *См. также в родительском классе* [abstractResult](classes/bundle/windows/result/abstractResult.ru.md). 12 | 13 | --- 14 | 15 | #### Методы 16 | 17 | - `->`[`__construct()`](#method-__construct) 18 | - `->`[`addData()`](#method-adddata) 19 | - `->`[`toArray()`](#method-toarray) 20 | - `->`[`getPath()`](#method-getpath) - _Получить путь_ 21 | - `->`[`registry()`](#method-registry) - _Вернуть класс Registry для текущего пути_ 22 | - См. также в родительском классе [abstractResult](classes/bundle/windows/result/abstractResult.ru.md) 23 | 24 | --- 25 | # Методы 26 | 27 | 28 | 29 | ### __construct() 30 | ```php 31 | __construct(mixed $path): void 32 | ``` 33 | 34 | --- 35 | 36 | 37 | 38 | ### addData() 39 | ```php 40 | addData(mixed $key, mixed $type, mixed $value): void 41 | ``` 42 | 43 | --- 44 | 45 | 46 | 47 | ### toArray() 48 | ```php 49 | toArray(): void 50 | ``` 51 | 52 | --- 53 | 54 | 55 | 56 | ### getPath() 57 | ```php 58 | getPath(): string 59 | ``` 60 | Получить путь 61 | 62 | --- 63 | 64 | 65 | 66 | ### registry() 67 | ```php 68 | registry(): Registry 69 | ``` 70 | Вернуть класс Registry для текущего пути -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/startupItem.md: -------------------------------------------------------------------------------- 1 | # startupItem 2 | 3 | - **class** `startupItem` (`bundle\windows\result\startupItem`) **extends** [`abstractItem`](classes/bundle/windows/result/abstractItem.md) 4 | - **source** `bundle/windows/result/startupItem.php` 5 | 6 | --- 7 | 8 | #### Properties 9 | 10 | - `->`[`title`](#prop-title) : `string` - _Заголовок_ 11 | - `->`[`command`](#prop-command) : `string` - _Команда для запуска_ 12 | - `->`[`file`](#prop-file) : `string` - _Путь к файлу_ 13 | - `->`[`shortcut`](#prop-shortcut) : `string` - _Путь к ярлыку_ 14 | - `->`[`forAllUsers`](#prop-forallusers) : `bool` - _Для всех пользователей_ 15 | - `->`[`location`](#prop-location) : `string` - _Расположение записи (Реестр, папка startup и т.д.)_ 16 | - *See also in the parent class* [abstractItem](classes/bundle/windows/result/abstractItem.md). 17 | 18 | --- 19 | 20 | #### Methods 21 | 22 | - `->`[`__construct()`](#method-__construct) 23 | - `->`[`isForAllUsers()`](#method-isforallusers) - _Автозагрузка для всех пользователей_ 24 | - `->`[`getFileFromCommand()`](#method-getfilefromcommand) 25 | - `->`[`delete()`](#method-delete) - _Удалить объект из автозагрузки_ 26 | - `->`[`getTitle()`](#method-gettitle) - _Заголовок_ 27 | - `->`[`getCommand()`](#method-getcommand) - _Команда для запуска_ 28 | - `->`[`getFile()`](#method-getfile) - _Путь к исполняемому файлу_ 29 | - `->`[`getShortcut()`](#method-getshortcut) - _Путь к ярлыку для запуска_ 30 | - `->`[`getLocation()`](#method-getlocation) - _Расположение записи для запуска_ 31 | - See also in the parent class [abstractItem](classes/bundle/windows/result/abstractItem.md) 32 | 33 | --- 34 | # Methods 35 | 36 | 37 | 38 | ### __construct() 39 | ```php 40 | __construct(mixed $title, mixed $command, mixed $location): void 41 | ``` 42 | 43 | --- 44 | 45 | 46 | 47 | ### isForAllUsers() 48 | ```php 49 | isForAllUsers(): bool 50 | ``` 51 | Автозагрузка для всех пользователей 52 | 53 | --- 54 | 55 | 56 | 57 | ### getFileFromCommand() 58 | ```php 59 | getFileFromCommand(mixed $command): void 60 | ``` 61 | 62 | --- 63 | 64 | 65 | 66 | ### delete() 67 | ```php 68 | delete(): bool 69 | ``` 70 | Удалить объект из автозагрузки 71 | 72 | --- 73 | 74 | 75 | 76 | ### getTitle() 77 | ```php 78 | getTitle(): string 79 | ``` 80 | Заголовок 81 | 82 | --- 83 | 84 | 85 | 86 | ### getCommand() 87 | ```php 88 | getCommand(): string 89 | ``` 90 | Команда для запуска 91 | 92 | --- 93 | 94 | 95 | 96 | ### getFile() 97 | ```php 98 | getFile(): string 99 | ``` 100 | Путь к исполняемому файлу 101 | 102 | --- 103 | 104 | 105 | 106 | ### getShortcut() 107 | ```php 108 | getShortcut(): string 109 | ``` 110 | Путь к ярлыку для запуска 111 | 112 | --- 113 | 114 | 115 | 116 | ### getLocation() 117 | ```php 118 | getLocation(): string 119 | ``` 120 | Расположение записи для запуска -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/startupItem.ru.md: -------------------------------------------------------------------------------- 1 | # startupItem 2 | 3 | - **класс** `startupItem` (`bundle\windows\result\startupItem`) **унаследован от** [`abstractItem`](classes/bundle/windows/result/abstractItem.ru.md) 4 | - **исходники** `bundle/windows/result/startupItem.php` 5 | 6 | --- 7 | 8 | #### Свойства 9 | 10 | - `->`[`title`](#prop-title) : `string` - _Заголовок_ 11 | - `->`[`command`](#prop-command) : `string` - _Команда для запуска_ 12 | - `->`[`file`](#prop-file) : `string` - _Путь к файлу_ 13 | - `->`[`shortcut`](#prop-shortcut) : `string` - _Путь к ярлыку_ 14 | - `->`[`forAllUsers`](#prop-forallusers) : `bool` - _Для всех пользователей_ 15 | - `->`[`location`](#prop-location) : `string` - _Расположение записи (Реестр, папка startup и т.д.)_ 16 | - *См. также в родительском классе* [abstractItem](classes/bundle/windows/result/abstractItem.ru.md). 17 | 18 | --- 19 | 20 | #### Методы 21 | 22 | - `->`[`__construct()`](#method-__construct) 23 | - `->`[`isForAllUsers()`](#method-isforallusers) - _Автозагрузка для всех пользователей_ 24 | - `->`[`getFileFromCommand()`](#method-getfilefromcommand) 25 | - `->`[`delete()`](#method-delete) - _Удалить объект из автозагрузки_ 26 | - `->`[`getTitle()`](#method-gettitle) - _Заголовок_ 27 | - `->`[`getCommand()`](#method-getcommand) - _Команда для запуска_ 28 | - `->`[`getFile()`](#method-getfile) - _Путь к исполняемому файлу_ 29 | - `->`[`getShortcut()`](#method-getshortcut) - _Путь к ярлыку для запуска_ 30 | - `->`[`getLocation()`](#method-getlocation) - _Расположение записи для запуска_ 31 | - См. также в родительском классе [abstractItem](classes/bundle/windows/result/abstractItem.ru.md) 32 | 33 | --- 34 | # Методы 35 | 36 | 37 | 38 | ### __construct() 39 | ```php 40 | __construct(mixed $title, mixed $command, mixed $location): void 41 | ``` 42 | 43 | --- 44 | 45 | 46 | 47 | ### isForAllUsers() 48 | ```php 49 | isForAllUsers(): bool 50 | ``` 51 | Автозагрузка для всех пользователей 52 | 53 | --- 54 | 55 | 56 | 57 | ### getFileFromCommand() 58 | ```php 59 | getFileFromCommand(mixed $command): void 60 | ``` 61 | 62 | --- 63 | 64 | 65 | 66 | ### delete() 67 | ```php 68 | delete(): bool 69 | ``` 70 | Удалить объект из автозагрузки 71 | 72 | --- 73 | 74 | 75 | 76 | ### getTitle() 77 | ```php 78 | getTitle(): string 79 | ``` 80 | Заголовок 81 | 82 | --- 83 | 84 | 85 | 86 | ### getCommand() 87 | ```php 88 | getCommand(): string 89 | ``` 90 | Команда для запуска 91 | 92 | --- 93 | 94 | 95 | 96 | ### getFile() 97 | ```php 98 | getFile(): string 99 | ``` 100 | Путь к исполняемому файлу 101 | 102 | --- 103 | 104 | 105 | 106 | ### getShortcut() 107 | ```php 108 | getShortcut(): string 109 | ``` 110 | Путь к ярлыку для запуска 111 | 112 | --- 113 | 114 | 115 | 116 | ### getLocation() 117 | ```php 118 | getLocation(): string 119 | ``` 120 | Расположение записи для запуска -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/taskItem.md: -------------------------------------------------------------------------------- 1 | # taskItem 2 | 3 | - **class** `taskItem` (`bundle\windows\result\taskItem`) **extends** [`abstractItem`](classes/bundle/windows/result/abstractItem.md) 4 | - **source** `bundle/windows/result/taskItem.php` 5 | 6 | **Description** 7 | 8 | Экземпляр данного класса содержит информацию об одном процессе 9 | 10 | --- 11 | 12 | #### Properties 13 | 14 | - `->`[`name`](#prop-name) : `string` - _Имя процесса_ 15 | - `->`[`pid`](#prop-pid) : `int` - _Process ID_ 16 | - `->`[`sessionName`](#prop-sessionname) : `string` - _Имя сессии_ 17 | - `->`[`sessionNumber`](#prop-sessionnumber) : `int` - _№ сеанса_ 18 | - `->`[`memory`](#prop-memory) : `int` - _Память (в байтах)_ 19 | - `->`[`status`](#prop-status) : `string` - _Состояние_ 20 | - `->`[`user`](#prop-user) : `string` - _Пользователь_ 21 | - `->`[`cpuTime`](#prop-cputime) : `int` - _CPU Time (sec)_ 22 | - `->`[`title`](#prop-title) : `string` - _Window Title_ 23 | - *See also in the parent class* [abstractItem](classes/bundle/windows/result/abstractItem.md). 24 | 25 | --- 26 | 27 | #### Methods 28 | 29 | - `->`[`__construct()`](#method-__construct) 30 | - `->`[`kill()`](#method-kill) - _Завершить процесс_ 31 | - See also in the parent class [abstractItem](classes/bundle/windows/result/abstractItem.md) 32 | 33 | --- 34 | # Methods 35 | 36 | 37 | 38 | ### __construct() 39 | ```php 40 | __construct(mixed $name, mixed $pid, mixed $sessionName, mixed $sessionNumber, mixed $memory, mixed $status, mixed $user, mixed $cpuTime, mixed $title): void 41 | ``` 42 | 43 | --- 44 | 45 | 46 | 47 | ### kill() 48 | ```php 49 | kill(): void 50 | ``` 51 | Завершить процесс -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/taskItem.ru.md: -------------------------------------------------------------------------------- 1 | # taskItem 2 | 3 | - **класс** `taskItem` (`bundle\windows\result\taskItem`) **унаследован от** [`abstractItem`](classes/bundle/windows/result/abstractItem.ru.md) 4 | - **исходники** `bundle/windows/result/taskItem.php` 5 | 6 | **Описание** 7 | 8 | Экземпляр данного класса содержит информацию об одном процессе 9 | 10 | --- 11 | 12 | #### Свойства 13 | 14 | - `->`[`name`](#prop-name) : `string` - _Имя процесса_ 15 | - `->`[`pid`](#prop-pid) : `int` - _Process ID_ 16 | - `->`[`sessionName`](#prop-sessionname) : `string` - _Имя сессии_ 17 | - `->`[`sessionNumber`](#prop-sessionnumber) : `int` - _№ сеанса_ 18 | - `->`[`memory`](#prop-memory) : `int` - _Память (в байтах)_ 19 | - `->`[`status`](#prop-status) : `string` - _Состояние_ 20 | - `->`[`user`](#prop-user) : `string` - _Пользователь_ 21 | - `->`[`cpuTime`](#prop-cputime) : `int` - _Время ЦП (сек)_ 22 | - `->`[`title`](#prop-title) : `string` - _Заголовок окна_ 23 | - *См. также в родительском классе* [abstractItem](classes/bundle/windows/result/abstractItem.ru.md). 24 | 25 | --- 26 | 27 | #### Методы 28 | 29 | - `->`[`__construct()`](#method-__construct) 30 | - `->`[`kill()`](#method-kill) - _Завершить процесс_ 31 | - См. также в родительском классе [abstractItem](classes/bundle/windows/result/abstractItem.ru.md) 32 | 33 | --- 34 | # Методы 35 | 36 | 37 | 38 | ### __construct() 39 | ```php 40 | __construct(mixed $name, mixed $pid, mixed $sessionName, mixed $sessionNumber, mixed $memory, mixed $status, mixed $user, mixed $cpuTime, mixed $title): void 41 | ``` 42 | 43 | --- 44 | 45 | 46 | 47 | ### kill() 48 | ```php 49 | kill(): void 50 | ``` 51 | Завершить процесс -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/taskResult.md: -------------------------------------------------------------------------------- 1 | # taskResult 2 | 3 | - **class** `taskResult` (`bundle\windows\result\taskResult`) **extends** [`abstractResult`](classes/bundle/windows/result/abstractResult.md) 4 | - **source** `bundle/windows/result/taskResult.php` 5 | 6 | **Description** 7 | 8 | Экземпляр класса содержит список процессов, который был сформирован в одном из методов класса Task 9 | 10 | --- 11 | 12 | #### Methods 13 | 14 | - `->`[`addItem()`](#method-additem) 15 | - `->`[`kill()`](#method-kill) - _Завершить процессы_ 16 | - See also in the parent class [abstractResult](classes/bundle/windows/result/abstractResult.md) 17 | 18 | --- 19 | # Methods 20 | 21 | 22 | 23 | ### addItem() 24 | ```php 25 | addItem(mixed $params): void 26 | ``` 27 | 28 | --- 29 | 30 | 31 | 32 | ### kill() 33 | ```php 34 | kill(): void 35 | ``` 36 | Завершить процессы -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/taskResult.ru.md: -------------------------------------------------------------------------------- 1 | # taskResult 2 | 3 | - **класс** `taskResult` (`bundle\windows\result\taskResult`) **унаследован от** [`abstractResult`](classes/bundle/windows/result/abstractResult.ru.md) 4 | - **исходники** `bundle/windows/result/taskResult.php` 5 | 6 | **Описание** 7 | 8 | Экземпляр класса содержит список процессов, который был сформирован в одном из методов класса Task 9 | 10 | --- 11 | 12 | #### Методы 13 | 14 | - `->`[`addItem()`](#method-additem) 15 | - `->`[`kill()`](#method-kill) - _Завершить процессы_ 16 | - См. также в родительском классе [abstractResult](classes/bundle/windows/result/abstractResult.ru.md) 17 | 18 | --- 19 | # Методы 20 | 21 | 22 | 23 | ### addItem() 24 | ```php 25 | addItem(mixed $params): void 26 | ``` 27 | 28 | --- 29 | 30 | 31 | 32 | ### kill() 33 | ```php 34 | kill(): void 35 | ``` 36 | Завершить процессы -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/wlanInterface.md: -------------------------------------------------------------------------------- 1 | # wlanInterface 2 | 3 | - **class** `wlanInterface` (`bundle\windows\result\wlanInterface`) 4 | - **source** `bundle/windows/result/wlanInterface.php` 5 | 6 | --- 7 | 8 | #### Properties 9 | 10 | - `->`[`name`](#prop-name) : `mixed` 11 | - `->`[`description`](#prop-description) : `mixed` 12 | - `->`[`mac`](#prop-mac) : `mixed` 13 | 14 | --- 15 | 16 | #### Methods 17 | 18 | - `->`[`__construct()`](#method-__construct) 19 | - `->`[`getName()`](#method-getname) - _Получить имя интерфейса_ 20 | - `->`[`getDescription()`](#method-getdescription) - _Получить описание интерфейса_ 21 | - `->`[`getMac()`](#method-getmac) - _Получить mac-адрес_ 22 | - `->`[`getProfile()`](#method-getprofile) - _Получить текущий профиль (обычно совпадает с именем подключённой сети)_ 23 | - `->`[`getPassword()`](#method-getpassword) - _Получить пароль текущего профиля_ 24 | - `->`[`reload()`](#method-reload) - _Перезагрузить интерфейс (нужны права администратора)_ 25 | - `->`[`disable()`](#method-disable) - _Отключить интерфейс (нужны права администратора)_ 26 | - `->`[`enable()`](#method-enable) - _Включить интерфейс (нужны права администратора)_ 27 | - `->`[`disconnect()`](#method-disconnect) - _Отключиться от сети_ 28 | - `->`[`reconnect()`](#method-reconnect) - _Переподключиться к текущей сети_ 29 | - `->`[`connect()`](#method-connect) - _Подключиться к сети_ 30 | - `->`[`getState()`](#method-getstate) - _Получить состояние подключения сети_ 31 | - `->`[`getParams()`](#method-getparams) - _Получить список параметров текущего интерфейса_ 32 | - `->`[`getNetworks()`](#method-getnetworks) - _Получить список обнаруженных Wi-Fi сетей_ 33 | - `->`[`createConfig()`](#method-createconfig) - _Генерация файла профиля (для авторизации в сети WiFi)_ 34 | 35 | --- 36 | # Methods 37 | 38 | 39 | 40 | ### __construct() 41 | ```php 42 | __construct(array $params): void 43 | ``` 44 | 45 | --- 46 | 47 | 48 | 49 | ### getName() 50 | ```php 51 | getName(): string 52 | ``` 53 | Получить имя интерфейса 54 | 55 | --- 56 | 57 | 58 | 59 | ### getDescription() 60 | ```php 61 | getDescription(): string 62 | ``` 63 | Получить описание интерфейса 64 | 65 | --- 66 | 67 | 68 | 69 | ### getMac() 70 | ```php 71 | getMac(): string 72 | ``` 73 | Получить mac-адрес 74 | 75 | --- 76 | 77 | 78 | 79 | ### getProfile() 80 | ```php 81 | getProfile(): string 82 | ``` 83 | Получить текущий профиль (обычно совпадает с именем подключённой сети) 84 | 85 | --- 86 | 87 | 88 | 89 | ### getPassword() 90 | ```php 91 | getPassword(): string 92 | ``` 93 | Получить пароль текущего профиля 94 | 95 | --- 96 | 97 | 98 | 99 | ### reload() 100 | ```php 101 | reload(): void 102 | ``` 103 | Перезагрузить интерфейс (нужны права администратора) 104 | 105 | --- 106 | 107 | 108 | 109 | ### disable() 110 | ```php 111 | disable(): void 112 | ``` 113 | Отключить интерфейс (нужны права администратора) 114 | 115 | --- 116 | 117 | 118 | 119 | ### enable() 120 | ```php 121 | enable(): void 122 | ``` 123 | Включить интерфейс (нужны права администратора) 124 | 125 | --- 126 | 127 | 128 | 129 | ### disconnect() 130 | ```php 131 | disconnect(): void 132 | ``` 133 | Отключиться от сети 134 | 135 | --- 136 | 137 | 138 | 139 | ### reconnect() 140 | ```php 141 | reconnect(): void 142 | ``` 143 | Переподключиться к текущей сети 144 | 145 | --- 146 | 147 | 148 | 149 | ### connect() 150 | ```php 151 | connect(mixed $ssid, mixed $password): boolean 152 | ``` 153 | Подключиться к сети 154 | 155 | --- 156 | 157 | 158 | 159 | ### getState() 160 | ```php 161 | getState(): string 162 | ``` 163 | Получить состояние подключения сети 164 | 165 | --- 166 | 167 | 168 | 169 | ### getParams() 170 | ```php 171 | getParams(): array 172 | ``` 173 | Получить список параметров текущего интерфейса 174 | 175 | --- 176 | 177 | 178 | 179 | ### getNetworks() 180 | ```php 181 | getNetworks(): array 182 | ``` 183 | Получить список обнаруженных Wi-Fi сетей 184 | 185 | --- 186 | 187 | 188 | 189 | ### createConfig() 190 | ```php 191 | createConfig(string $ssid, string $password): string 192 | ``` 193 | Генерация файла профиля (для авторизации в сети WiFi) -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/wlanInterface.ru.md: -------------------------------------------------------------------------------- 1 | # wlanInterface 2 | 3 | - **класс** `wlanInterface` (`bundle\windows\result\wlanInterface`) 4 | - **исходники** `bundle/windows/result/wlanInterface.php` 5 | 6 | --- 7 | 8 | #### Свойства 9 | 10 | - `->`[`name`](#prop-name) : `mixed` 11 | - `->`[`description`](#prop-description) : `mixed` 12 | - `->`[`mac`](#prop-mac) : `mixed` 13 | 14 | --- 15 | 16 | #### Методы 17 | 18 | - `->`[`__construct()`](#method-__construct) 19 | - `->`[`getName()`](#method-getname) - _Получить имя интерфейса_ 20 | - `->`[`getDescription()`](#method-getdescription) - _Получить описание интерфейса_ 21 | - `->`[`getMac()`](#method-getmac) - _Получить mac-адрес_ 22 | - `->`[`getProfile()`](#method-getprofile) - _Получить текущий профиль (обычно совпадает с именем подключённой сети)_ 23 | - `->`[`getPassword()`](#method-getpassword) - _Получить пароль текущего профиля_ 24 | - `->`[`reload()`](#method-reload) - _Перезагрузить интерфейс (нужны права администратора)_ 25 | - `->`[`disable()`](#method-disable) - _Отключить интерфейс (нужны права администратора)_ 26 | - `->`[`enable()`](#method-enable) - _Включить интерфейс (нужны права администратора)_ 27 | - `->`[`disconnect()`](#method-disconnect) - _Отключиться от сети_ 28 | - `->`[`reconnect()`](#method-reconnect) - _Переподключиться к текущей сети_ 29 | - `->`[`connect()`](#method-connect) - _Подключиться к сети_ 30 | - `->`[`getState()`](#method-getstate) - _Получить состояние подключения сети_ 31 | - `->`[`getParams()`](#method-getparams) - _Получить список параметров текущего интерфейса_ 32 | - `->`[`getNetworks()`](#method-getnetworks) - _Получить список обнаруженных Wi-Fi сетей_ 33 | - `->`[`createConfig()`](#method-createconfig) - _Генерация файла профиля (для авторизации в сети WiFi)_ 34 | 35 | --- 36 | # Методы 37 | 38 | 39 | 40 | ### __construct() 41 | ```php 42 | __construct(array $params): void 43 | ``` 44 | 45 | --- 46 | 47 | 48 | 49 | ### getName() 50 | ```php 51 | getName(): string 52 | ``` 53 | Получить имя интерфейса 54 | 55 | --- 56 | 57 | 58 | 59 | ### getDescription() 60 | ```php 61 | getDescription(): string 62 | ``` 63 | Получить описание интерфейса 64 | 65 | --- 66 | 67 | 68 | 69 | ### getMac() 70 | ```php 71 | getMac(): string 72 | ``` 73 | Получить mac-адрес 74 | 75 | --- 76 | 77 | 78 | 79 | ### getProfile() 80 | ```php 81 | getProfile(): string 82 | ``` 83 | Получить текущий профиль (обычно совпадает с именем подключённой сети) 84 | 85 | --- 86 | 87 | 88 | 89 | ### getPassword() 90 | ```php 91 | getPassword(): string 92 | ``` 93 | Получить пароль текущего профиля 94 | 95 | --- 96 | 97 | 98 | 99 | ### reload() 100 | ```php 101 | reload(): void 102 | ``` 103 | Перезагрузить интерфейс (нужны права администратора) 104 | 105 | --- 106 | 107 | 108 | 109 | ### disable() 110 | ```php 111 | disable(): void 112 | ``` 113 | Отключить интерфейс (нужны права администратора) 114 | 115 | --- 116 | 117 | 118 | 119 | ### enable() 120 | ```php 121 | enable(): void 122 | ``` 123 | Включить интерфейс (нужны права администратора) 124 | 125 | --- 126 | 127 | 128 | 129 | ### disconnect() 130 | ```php 131 | disconnect(): void 132 | ``` 133 | Отключиться от сети 134 | 135 | --- 136 | 137 | 138 | 139 | ### reconnect() 140 | ```php 141 | reconnect(): void 142 | ``` 143 | Переподключиться к текущей сети 144 | 145 | --- 146 | 147 | 148 | 149 | ### connect() 150 | ```php 151 | connect(mixed $ssid, mixed $password): boolean 152 | ``` 153 | Подключиться к сети 154 | 155 | --- 156 | 157 | 158 | 159 | ### getState() 160 | ```php 161 | getState(): string 162 | ``` 163 | Получить состояние подключения сети 164 | 165 | --- 166 | 167 | 168 | 169 | ### getParams() 170 | ```php 171 | getParams(): array 172 | ``` 173 | Получить список параметров текущего интерфейса 174 | 175 | --- 176 | 177 | 178 | 179 | ### getNetworks() 180 | ```php 181 | getNetworks(): array 182 | ``` 183 | Получить список обнаруженных Wi-Fi сетей 184 | 185 | --- 186 | 187 | 188 | 189 | ### createConfig() 190 | ```php 191 | createConfig(string $ssid, string $password): string 192 | ``` 193 | Генерация файла профиля (для авторизации в сети WiFi) -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/wshResult.md: -------------------------------------------------------------------------------- 1 | # wshResult 2 | 3 | - **class** `wshResult` (`bundle\windows\result\wshResult`) 4 | - **source** `bundle/windows/result/wshResult.php` 5 | 6 | --- 7 | 8 | #### Properties 9 | 10 | - `->`[`process`](#prop-process) : `Process` 11 | - `->`[`charset`](#prop-charset) : `mixed` 12 | 13 | --- 14 | 15 | #### Methods 16 | 17 | - `->`[`__construct()`](#method-__construct) 18 | - `->`[`setCharset()`](#method-setcharset) 19 | - `->`[`getOutput()`](#method-getoutput) 20 | - `->`[`getError()`](#method-geterror) 21 | - `->`[`decodeStream()`](#method-decodestream) 22 | 23 | --- 24 | # Methods 25 | 26 | 27 | 28 | ### __construct() 29 | ```php 30 | __construct(php\lang\Process $process): void 31 | ``` 32 | 33 | --- 34 | 35 | 36 | 37 | ### setCharset() 38 | ```php 39 | setCharset(mixed $charset): void 40 | ``` 41 | 42 | --- 43 | 44 | 45 | 46 | ### getOutput() 47 | ```php 48 | getOutput(): void 49 | ``` 50 | 51 | --- 52 | 53 | 54 | 55 | ### getError() 56 | ```php 57 | getError(): void 58 | ``` 59 | 60 | --- 61 | 62 | 63 | 64 | ### decodeStream() 65 | ```php 66 | decodeStream(mixed $stream): void 67 | ``` -------------------------------------------------------------------------------- /api-docs/classes/bundle/windows/result/wshResult.ru.md: -------------------------------------------------------------------------------- 1 | # wshResult 2 | 3 | - **класс** `wshResult` (`bundle\windows\result\wshResult`) 4 | - **исходники** `bundle/windows/result/wshResult.php` 5 | 6 | --- 7 | 8 | #### Свойства 9 | 10 | - `->`[`process`](#prop-process) : `Process` 11 | - `->`[`charset`](#prop-charset) : `mixed` 12 | 13 | --- 14 | 15 | #### Методы 16 | 17 | - `->`[`__construct()`](#method-__construct) 18 | - `->`[`setCharset()`](#method-setcharset) 19 | - `->`[`getOutput()`](#method-getoutput) 20 | - `->`[`getError()`](#method-geterror) 21 | - `->`[`decodeStream()`](#method-decodestream) 22 | 23 | --- 24 | # Методы 25 | 26 | 27 | 28 | ### __construct() 29 | ```php 30 | __construct(php\lang\Process $process): void 31 | ``` 32 | 33 | --- 34 | 35 | 36 | 37 | ### setCharset() 38 | ```php 39 | setCharset(mixed $charset): void 40 | ``` 41 | 42 | --- 43 | 44 | 45 | 46 | ### getOutput() 47 | ```php 48 | getOutput(): void 49 | ``` 50 | 51 | --- 52 | 53 | 54 | 55 | ### getError() 56 | ```php 57 | getError(): void 58 | ``` 59 | 60 | --- 61 | 62 | 63 | 64 | ### decodeStream() 65 | ```php 66 | decodeStream(mixed $stream): void 67 | ``` -------------------------------------------------------------------------------- /package.php.yml: -------------------------------------------------------------------------------- 1 | name: windows 2 | version: 2.2 3 | description: Пакет для взаимодействия с API Windows 4 | 5 | plugins: 6 | - Hub 7 | - Doc 8 | 9 | sources: 10 | - src 11 | 12 | doc: 13 | stub-dirs: ['./src/'] 14 | langs: {en: English, ru: Русский} 15 | 16 | devDeps: 17 | dn-bundle-plugin: '*' 18 | 19 | config: 20 | ignore: 21 | - /*.iml 22 | - /.git/** 23 | - /package.hub.yml 24 | - /.gitignore 25 | - /gradle/** 26 | - /**.phpintel 27 | - /bundle/** 28 | - /src-bundle/** 29 | - /build/** 30 | - /vendor/** 31 | - /jars/** 32 | - /src-jvm/** 33 | - /.gitignore 34 | - /**.gradle 35 | - /gradlew 36 | - /gradlew.** 37 | 38 | develnext-bundle: 39 | version: 2.2 40 | name: windows 41 | description: Плагин для взаимодействия с API Windows 42 | author: Ts.Saltan 43 | icon: "develnext/bundle/windows/windows32.png" 44 | group: "system" 45 | class: "develnext\\bundle\\windows\\WindowsBundle" 46 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'dn-windows-bundle' -------------------------------------------------------------------------------- /src-bundle/.data/img/develnext/bundle/windows/windows32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TsSaltan/jphp-windows-ext/f4a179a72c55245ab289957b884e0ee0088bdd9f/src-bundle/.data/img/develnext/bundle/windows/windows32.png -------------------------------------------------------------------------------- /src-bundle/develnext/bundle/windows/WindowsBundle.php: -------------------------------------------------------------------------------- 1 | 2 |
  • bundle\windows\COM (работа с COM портами)
  • 3 |
  • bundle\windows\Registry (работа с реестром)
  • 4 |
  • bundle\windows\Startup (работа с автозапуском)
  • 5 |
  • bundle\windows\Task (работа с процессами)
  • 6 |
  • bundle\windows\Windows (основные функции)
  • 7 |
  • bundle\windows\WindowsScriptHost (взаимодействие со скриптами Windows)
  • 8 |
  • bundle\windows\Wlan (работа с беспроводными сетями)
  • 9 | 10 | Документация (Wiki) -------------------------------------------------------------------------------- /src-bundle/vendor/develnext.bundle.windows.WindowsBundle/.packages/windows.pkg: -------------------------------------------------------------------------------- 1 | [classes] 2 | bundle\windows\api\CSharp 3 | bundle\windows\COM 4 | bundle\windows\Metadata 5 | bundle\windows\Registry 6 | bundle\windows\Startup 7 | bundle\windows\Task 8 | bundle\windows\Windows 9 | bundle\windows\WindowsException 10 | bundle\windows\WindowsScriptHost 11 | bundle\windows\Wlan -------------------------------------------------------------------------------- /src/bundle/windows/COM.php: -------------------------------------------------------------------------------- 1 | readFully(); 22 | foreach($reg as $r){ 23 | foreach($r as $v){ 24 | $com[$v->value] = new comItem($v->value, array_merge(self::getParams($v->value), ['path' => $v->key])); 25 | } 26 | } 27 | 28 | return $com; 29 | } 30 | 31 | /** 32 | * --RU-- 33 | * Получить список параметров порта 34 | * @param string $port Имя порта (от COM1 до COM255) 35 | * @return array 36 | */ 37 | public static function getParams($port){ 38 | $r = WSH::WMIC('path Win32_PnPEntity WHERE "Caption like \'%' . $port . '%\'" get'); 39 | return isset($r[0]) ? $r[0] : []; 40 | } 41 | 42 | /** 43 | * --RU-- 44 | * Ищет устройство по имени 45 | * @param string $search Строка поиска 46 | * @param array $searchFields=['Caption','Description','Name','Service'] Поля, по ктоторым осуществляется поиск 47 | * @return comItem[] 48 | */ 49 | public static function searchDevice($search, $searchFields = ['Caption', 'Description', 'Name', 'Service']){ 50 | $searchCOM = ['Caption', 'Name']; // Поля, в которых фигурирует номер COM порта 51 | 52 | // Формирование SQL запроса 53 | $searchQuery = []; 54 | foreach($searchFields as $field){ 55 | $searchQuery[] = $field . ' like \'%' . $search . '%\''; 56 | } 57 | $search = implode(' OR ', $searchQuery); 58 | $r = WSH::WMIC('path Win32_PnPEntity WHERE "'.$search.'" get'); 59 | 60 | $ports = []; 61 | foreach ($r as $v) { 62 | $string = ''; // Делаем конкатенацию полей, где может фигурировать номер COM порта 63 | foreach ($searchCOM as $field){ 64 | $string .= $v[$field]; 65 | } 66 | $regex = Regex::of('(COM[0-9]+)', Regex::CASE_INSENSITIVE + Regex::UNICODE_CASE)->with($string); 67 | if ($regex->find()){ // Если удалось определить номер com порта 68 | $ports[$regex->group(1)] = new comItem($regex->group(1), $v); 69 | } 70 | } 71 | 72 | return $ports; 73 | } 74 | } -------------------------------------------------------------------------------- /src/bundle/windows/Lan.php: -------------------------------------------------------------------------------- 1 | useDelimiter(Regex::of('\n', Regex::MULTILINE)); 32 | while($scanner->hasNextLine()){ 33 | $scanner->next(); 34 | $line = $scanner->current(); 35 | 36 | $regAdapter = Regex::of('Ethernet adapter ([^\n\r]+):', Regex::MULTILINE)->with($line); 37 | if($regAdapter->find()){ 38 | $adapterName = $regAdapter->group(1); 39 | } elseif($adapterName != false){ 40 | $regParam = Regex::of('\s+([^\.]+)[\.\s]+:([^\n]+)', Regex::MULTILINE)->with($line); 41 | if($regParam->find()){ 42 | $key = trim($regParam->group(1)); 43 | if(isset($adapters[$adapterName][$key])) $adapterName = false; 44 | else $adapters[$adapterName][$key] = trim($regParam->group(2)); 45 | } 46 | } 47 | } 48 | 49 | foreach($nic as $k => $v){ 50 | if(!isset($v['NetConnectionID'])) continue; 51 | if(!isset($adapters[$v['NetConnectionID']])){ 52 | $adapters[$v['NetConnectionID']] = [ 53 | 'Description' => $v['Description'], 54 | 'Physical Address' => $v['MACAddress'], 55 | ]; 56 | } 57 | 58 | $adapters[$v['NetConnectionID']]['Speed'] = $v['Speed'] ?? 0; 59 | $adapters[$v['NetConnectionID']]['Manufacturer'] = $v['Manufacturer'] ?? ''; 60 | $adapters[$v['NetConnectionID']]['Manufacturer'] = $v['Manufacturer'] ?? ''; 61 | $adapters[$v['NetConnectionID']]['NetEnabled'] = isset($v['NetEnabled']) && $v['NetEnabled'] == 'TRUE'; 62 | } 63 | 64 | foreach ($adapters as $name => $params) { 65 | $adaptersObj[] = new lanAdapter($name, $params); 66 | } 67 | return $adaptersObj; 68 | } 69 | 70 | /** 71 | * Получить используемый по умолчанию адаптер 72 | * @return lanAdapter 73 | */ 74 | public static function getActiveAdapter() : lanAdapter { 75 | $adapters = self::getAdapters(); 76 | foreach ($adapters as $adapter) { 77 | if($adapter->isActive()){ 78 | return $adapter; 79 | } 80 | } 81 | 82 | return null; 83 | } 84 | 85 | /** 86 | * Есть ли оборудование для работы с проводными сетями 87 | * @return boolean 88 | */ 89 | public static function isSupported() : bool { 90 | return sizeof(self::getAdapters()) > 0; 91 | } 92 | 93 | } -------------------------------------------------------------------------------- /src/bundle/windows/Metadata.php: -------------------------------------------------------------------------------- 1 | file = ($file instanceof File) ? $file : File::of($file) ; 25 | } 26 | 27 | public function readData(int $items = 300){ 28 | $title_query = ' 29 | $objShell = New-Object -ComObject Shell.Application 30 | $objFolder = $objShell.namespace(":path") 31 | 0..:items | Foreach-Object { \'{0} = {1}\' -f $_, $objFolder.GetDetailsOf($null, $_) } 32 | '; 33 | 34 | $data_query = ' 35 | $objShell = New-Object -ComObject Shell.Application 36 | $objFolder = $objShell.namespace(":path") 37 | $objFile = $objFolder.parsename(":file") 38 | 0..:items | Foreach-Object { \'{0} = {1}\' -f $_, $objFolder.GetDetailsOf($objFile, $_) } 39 | '; 40 | 41 | $title_items = WindowsScriptHost::PowerShell($title_query, ['file' => $this->file->getName(), 'path' => dirname($this->file->getAbsolutePath()), 'items' => $items]); 42 | $data_items = WindowsScriptHost::PowerShell($data_query, ['file' => $this->file->getName(), 'path' => dirname($this->file->getAbsolutePath()), 'items' => $items]); 43 | 44 | $title = $this->parse($title_items); 45 | $data = $this->parse($data_items); 46 | 47 | $array = array_combine($title, $data); 48 | foreach ($array as $k=>$v){ 49 | if(strlen($k) == 0 || strlen($v) == 0){ 50 | unset($array[$k]); 51 | } 52 | } 53 | 54 | return $array; 55 | } 56 | 57 | 58 | protected function parse($lines){ 59 | $scanner = new Scanner($lines, 'UTF-8'); 60 | $data = []; 61 | 62 | while ($scanner->hasNextLine()) { 63 | $line = $scanner->nextLine(); 64 | list($key, $value) = str::split($line, '=', 2); 65 | $key = intval(str::trim($key)); 66 | $value = str::trim($value); 67 | 68 | $data[$key] = $value; 69 | 70 | } 71 | 72 | return $data; 73 | } 74 | } -------------------------------------------------------------------------------- /src/bundle/windows/Prepare.php: -------------------------------------------------------------------------------- 1 | 'value' 23 | private $safeQuery; 24 | 25 | /** 26 | * Обрамлять переменную кавычками 27 | * @var boolean 28 | */ 29 | public $addStringQuotes = false; 30 | 31 | /** 32 | * Режим управления кавычками 33 | * 0 - ничего не делаем 34 | * 1 - кавычки экранируются \" 35 | * 2 - кавычки экранируются "" 36 | * @var int 37 | */ 38 | public $quotesPolicy = 0; 39 | 40 | 41 | /** 42 | * Заменить отсутствующие переменные на NULL 43 | * @var boolean 44 | */ 45 | public $replaceEmpty = false; 46 | 47 | public function __construct($query){ 48 | $this->source = $query; 49 | } 50 | 51 | /** 52 | * @param array $bindParams [key => value] || [key => [value, type]] 53 | */ 54 | public function bindAll($bindParams){ 55 | foreach($bindParams as $key => $value){ 56 | if(is_array($value)){ 57 | $this->bind($key, $value[0], $value[1]); 58 | } else { 59 | $this->bind($key, $value); 60 | } 61 | } 62 | } 63 | 64 | public function bind($key, $value, $type = 'STRING'){ 65 | $key = (str::sub($key, 0, 1) == ':') ? str::sub($key, 1) : $key; 66 | $key = str::lower($key); 67 | 68 | switch($type){ 69 | case self::STRING: 70 | $value = strval($value); 71 | $value = str::replace($value, "\\", "\\\\"); 72 | 73 | switch($this->quotesPolicy){ 74 | case 1: 75 | $value = str::replace($value, "\"", "\\\""); 76 | break; 77 | 78 | case 2: 79 | $value = str::replace($value, '"', '""'); 80 | break; 81 | } 82 | 83 | if($this->addStringQuotes){ 84 | $value = '"' . $value . '"'; 85 | } 86 | 87 | $this->vars[$key] = $value; 88 | break; 89 | 90 | case self::INTEGER: 91 | $this->vars[$key] = intval($value); 92 | break; 93 | 94 | case self::FLOAT: 95 | $this->vars[$key] = floatval($value); 96 | break; 97 | 98 | case self::BOOLEAN: 99 | $this->vars[$key] = boolval($value); 100 | break; 101 | } 102 | } 103 | 104 | public function getQuery($bindParams = []){ 105 | $this->bindAll($bindParams); 106 | 107 | $reg = Regex::of(':([\w\d_]+)', Regex::UNICODE_CASE | Regex::CASE_INSENSITIVE | Regex::MULTILINE)->with($this->source); 108 | return $reg->replaceWithCallback(function($reg){ 109 | $key = str::lower($reg->group(1)); 110 | 111 | if(isset($this->vars[$key])){ 112 | return $this->vars[$key]; 113 | } 114 | 115 | if($this->replaceEmpty === true){ 116 | return 'NULL'; 117 | } 118 | else return $reg->group(0); 119 | }); 120 | } 121 | 122 | public static function Query($query, $params = []){ 123 | return (new self($query))->getQuery($params); 124 | } 125 | } -------------------------------------------------------------------------------- /src/bundle/windows/Registry.php: -------------------------------------------------------------------------------- 1 | path = $path; 31 | } 32 | 33 | /** 34 | * Alias __construct 35 | * @return Registry 36 | */ 37 | public static function of($path){ 38 | return new self($path); 39 | } 40 | 41 | /** 42 | * HKEY_CLASSES_ROOT 43 | * @return Registry 44 | */ 45 | public static function HKCR(){ 46 | return new self('HKEY_CLASSES_ROOT'); 47 | } 48 | 49 | /** 50 | * HKEY_CURRENT_USER 51 | * @return Registry 52 | */ 53 | public static function HKCU(){ 54 | return new self('HKEY_CURRENT_USER'); 55 | } 56 | 57 | /** 58 | * HKEY_LOCAL_MACHINE 59 | * @return Registry 60 | */ 61 | public static function HKLM(){ 62 | return new self('HKEY_LOCAL_MACHINE'); 63 | } 64 | 65 | /** 66 | * HKEY_USERS 67 | * @return Registry 68 | */ 69 | public static function HKU(){ 70 | return new self('HKEY_USERS'); 71 | } 72 | 73 | /** 74 | * HKEY_CURRENT_CONFIG 75 | * @return Registry 76 | */ 77 | public static function HKCC(){ 78 | return new self('HKEY_CURRENT_CONFIG'); 79 | } 80 | 81 | /** 82 | * --RU-- 83 | * Полное чтение содержимого раздела (ключ, значения, подразделы) 84 | * @param bool $recursive=false рекурсивное чтение из подразделов 85 | * @return registryResult[] 86 | */ 87 | 88 | public function readFully($recursive = false){ 89 | $exec = $this->query('query ":path"' . ($recursive ? ' /s' : ''), ['path' => $this->path]); 90 | return $this->parseAnswer($exec); 91 | } 92 | 93 | /** 94 | * --RU-- 95 | * Чтение ключа 96 | * @param string $key имя ключа 97 | * @return registryItem 98 | */ 99 | public function read($key){ 100 | $exec = $this->query('query ":path" /v ":key"', ['path' => $this->path, 'key' => $key]); 101 | $result = $this->parseAnswer($exec); 102 | return isset($result[0]) ? $result[0]->next() : null; 103 | } 104 | 105 | /** 106 | * --RU-- 107 | * Добавить новый параметр в реестр 108 | * @param string $key Имя параметра 109 | * @param string $value Значение 110 | * @param string $type Тип переменной (REG_SZ|REG_DWORD|REG_BINARY) 111 | */ 112 | public function add($key, $value, $type = 'REG_SZ'){ 113 | return $this->query('add ":path" /v ":key" /t ":type" /d ":value" /f', [ 114 | 'path' => $this->path, 115 | 'key' => $key, 116 | 'value' => $value, 117 | 'type' => $type 118 | ]); 119 | } 120 | 121 | 122 | /** 123 | * --RU-- 124 | * Создать раздел реестра 125 | */ 126 | public function create(){ 127 | return $this->query('add ":path" /f', ['path' => $this->path]); 128 | } 129 | 130 | /** 131 | * --RU-- 132 | * Удалить раздел реестра 133 | */ 134 | public function delete(){ 135 | return $this->query('delete ":path" /f', ['path' => $this->path]); 136 | } 137 | 138 | /** 139 | * --RU-- 140 | * Удалить содержимое раздела 141 | */ 142 | public function clear(){ 143 | return $this->query('delete ":path" /va /f', ['path' => $this->path]); 144 | } 145 | 146 | /** 147 | * --RU-- 148 | * Удалить ключ из реестра 149 | * @param string $key 150 | */ 151 | public function deleteKey($key){ 152 | return $this->query('delete ":path" /v ":key" /f', ['path' => $this->path, 'key' => $key]); 153 | } 154 | 155 | /** 156 | * --RU-- 157 | * Поиск по ключам и разделам 158 | * @param string $search 159 | * @param bool $recursive=false Искать в подразделах 160 | * @param bool $fullEqual=false Только полное совпадение 161 | * @return registryResult[] 162 | */ 163 | public function search($search, $recursive = false, $fullEqual = false){ 164 | $exec = $this->query('query ":path" /f ":search"' . ($fullEqual ? ' /e' : '') . ($recursive ? ' /s' : ''), ['path' => $this->path, 'search' => $search]); 165 | return $this->parseAnswer($exec); 166 | } 167 | 168 | /** 169 | * --RU-- 170 | * Поиск по значениям 171 | * @param string $search 172 | * @param bool $recursive=false Искать в подразделах 173 | * @param bool $fullEqual=false Только полное совпадение 174 | * @return registryResult[] 175 | */ 176 | public function searchValue($search, $recursive = false, $fullEqual = false){ 177 | $exec = $this->query('query ":path" /f ":search" /d' . ($fullEqual ? ' /e' : '') . ($recursive ? ' /s' : ''), ['path' => $this->path, 'search' => $search]); 178 | return $this->parseAnswer($exec); 179 | } 180 | 181 | private function parseAnswer($answer){ 182 | $parts = explode("\nHKEY_", $answer); 183 | $return = []; 184 | $reg = '\n[ ]{4}([^\n]+)[ ]{4}([^\n]+)[ ]{4}([^\n\r]*)'; 185 | 186 | foreach($parts as $i => $part){ 187 | if(is_null($part)) continue; 188 | $regex = Regex::of($reg, Regex::CASE_INSENSITIVE + Regex::MULTILINE)->with($part); 189 | $path = str::lines($part)[0]; 190 | $path = str::startsWith($path, 'HKEY_') ? $path : 'HKEY_' . $path; 191 | $return[$i] = new registryResult($path); 192 | 193 | while ($regex->find()){ 194 | $return[$i]->addData($regex->group(1), $regex->group(2), Str::Trim($regex->group(3))); 195 | } 196 | } 197 | 198 | 199 | return $return; 200 | } 201 | 202 | private function query(string $command, array $vars = []){ 203 | $regPath = Windows::getSysNative('reg.exe'); 204 | return WSH::cmd($regPath . ' ' . $command, $vars); 205 | } 206 | 207 | } -------------------------------------------------------------------------------- /src/bundle/windows/Startup.php: -------------------------------------------------------------------------------- 1 | $item){ 28 | $key = strtolower(implode('-', $item)); // Чтоб убрать повторяющиеся элементы 29 | if(isset($return[$key])) continue; 30 | 31 | $return[$key] = new startupItem($item['title'], $item['command'], $item['location']); 32 | } 33 | 34 | return array_values($return); 35 | } 36 | 37 | /** 38 | * Загрузка элементов из WMI 39 | */ 40 | private static function loadWMIC() : array{ 41 | $list = WSH::WMIC('startup get'); 42 | $startup = []; 43 | 44 | foreach($list as $v){ 45 | $startup[] = ['title' => $v['Caption'], 'command' => $v['Command'], 'location' => self::expandRegPath($v['Location'])]; 46 | } 47 | 48 | return $startup; 49 | } 50 | 51 | /** 52 | * Загрузка элементов из реестра 53 | */ 54 | public static function loadRegistry() : array{ 55 | $regPaths = [ 56 | 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run', 57 | 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce', 58 | 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run', 59 | 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce', 60 | 61 | // If added by Group Policy 62 | 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run', 63 | 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run', 64 | 65 | //x64 66 | 'HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run', 67 | 'HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce', 68 | ]; 69 | 70 | $startup = []; 71 | 72 | foreach($regPaths as $path){ 73 | try{ 74 | $reg = Registry::of($path)->readFully(true); 75 | foreach($reg as $r){ 76 | foreach($r as $v){ 77 | $startup[] = ['title' => $v->key, 'command' => $v->value, 'location' => $r->path]; 78 | } 79 | } 80 | 81 | } catch(WindowsException $e){ 82 | } 83 | } 84 | 85 | return $startup; 86 | } 87 | 88 | /** 89 | * @todo Загрузка отключенных в реестре 90 | */ 91 | public static function loadDisabled() : array { 92 | $regPaths = [ 93 | 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run', 94 | 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run32', 95 | 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\StartupFolder', 96 | 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run', 97 | 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run32', 98 | 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\StartupFolder', 99 | ]; 100 | 101 | 102 | $startup = []; 103 | 104 | foreach($regPaths as $path){ 105 | try{ 106 | $reg = Registry::of($path)->readFully(); 107 | foreach($reg as $r){ 108 | foreach($r as $v){ 109 | $startup[$r->path][] = [$v->key => $v->value]; 110 | } 111 | } 112 | 113 | } catch(WindowsException $e){ 114 | } 115 | } 116 | 117 | return $startup; 118 | } 119 | 120 | private static function expandRegPath($path) : string { 121 | $reg = [ 122 | 'HKCR\\' => 'HKEY_CLASSES_ROOT\\', 123 | 'HKCU\\' => 'HKEY_CURRENT_USER\\', 124 | 'HKLM\\' => 'HKEY_LOCAL_MACHINE\\', 125 | 'HKU\\' => 'HKEY_USERS\\', 126 | 'HKCC\\' => 'HKEY_CURRENT_CONFIG\\', 127 | ]; 128 | 129 | return str_replace(array_keys($reg), array_values($reg), $path); 130 | } 131 | 132 | 133 | /** 134 | * --RU-- 135 | * Добавляет программу в автозагрузку 136 | * @param string $file Команда для запуска 137 | * @param string $description=null Описание 138 | * @return startupItem 139 | */ 140 | public static function add($file, $description = null) : startupItem { 141 | $dir = self::getUserStartupDirectory(); 142 | $basename = basename($file); 143 | Windows::createShortcut($dir . '\\' . $basename . '.lnk', $file, $description); 144 | return self::find($file); 145 | } 146 | 147 | /** 148 | * --RU-- 149 | * Найти запись в автозапуске по исполняемому файлу 150 | * @param string $file Путь к исполняемому файлу 151 | * @return startupItem 152 | */ 153 | public static function find($file) : startupItem { 154 | $list = self::getList(); 155 | foreach($list as $item){ 156 | if($item->file == $file){ 157 | return $item; 158 | } 159 | } 160 | 161 | return false; 162 | } 163 | 164 | /** 165 | * --RU-- 166 | * Находится ли данный файл в автозапуске 167 | * @param string $file Путь к исполняемому файлу 168 | * @return bool 169 | */ 170 | public static function isExists($file) : bool { 171 | return self::find($file) !== false; 172 | } 173 | 174 | /** 175 | * --RU-- 176 | * Возвращает путь к пользовательской папке автозагрузки 177 | * @return string 178 | */ 179 | public static function getUserStartupDirectory() : string { 180 | return realpath(Windows::expandEnv('%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup')); 181 | } 182 | 183 | /** 184 | * --RU-- 185 | * Возвращает путь к папке автозагрузки для программ 186 | * @return string 187 | */ 188 | public static function getCommonStartupDirectory() : string { 189 | return realpath(Windows::expandEnv('%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\Startup')); 190 | } 191 | 192 | } -------------------------------------------------------------------------------- /src/bundle/windows/Task.php: -------------------------------------------------------------------------------- 1 | length() > 0) ? $proc->first() : false ; 34 | } 35 | 36 | /** 37 | * --RU-- 38 | * Поиск процесса по имени образа 39 | * @param string $name 40 | * @return \result\taskResult 41 | */ 42 | public static function find($name){ 43 | $proc = self::exec('IMAGENAME eq '.$name); 44 | return ($proc->length() > 0) ? $proc : false ; 45 | } 46 | 47 | /** 48 | * --RU-- 49 | * Поиск процесса по заголовку окна 50 | * @param string $title 51 | * @return \result\taskResult 52 | */ 53 | public static function findByTitle($title){ 54 | $proc = self::exec('WINDOWTITLE eq '.$title); 55 | return ($proc->length() > 0) ? $proc : false ; 56 | } 57 | 58 | /** 59 | * --RU-- 60 | * Существует ли процесс с таким именем образа 61 | * @param string $name 62 | * @return bool 63 | */ 64 | public static function exists($name){ 65 | return self::find($name) !== false; 66 | } 67 | 68 | /** 69 | * --RU-- 70 | * Существует ли процесс с таким PID 71 | * @param int $pid 72 | * @return bool 73 | */ 74 | public static function pidExists($pid){ 75 | return self::findByPID($pid) !== false; 76 | } 77 | 78 | /** 79 | * --RU-- 80 | * Существует ли процесс с таким заголовком окна 81 | * @param string $title 82 | * @return bool 83 | */ 84 | public static function titleExists($title){ 85 | return self::findByTitle($title) !== false; 86 | } 87 | 88 | private static function exec($filter = false){ 89 | // cp изменит вывод на английский язык 90 | $list = WSH::cmd('chcp 65001 | tasklist /V /FO CSV /NH' . ($filter === false ? '' : ' /FI ":filter"'), ['filter' => $filter], 'utf-8'); 91 | return self::parseAnswer($list); 92 | } 93 | 94 | private static function parseAnswer($list){ 95 | $tasks = explode("\n", $list); 96 | $reg = '"([^"]+)"'; 97 | $result = new taskResult; 98 | foreach ($tasks as $k=>$task) { 99 | $regex = Regex::of($reg, Regex::CASE_INSENSITIVE + Regex::UNICODE_CASE)->with($task); 100 | if ($regex->find()) { 101 | $result->addItem($regex->all()); 102 | } 103 | 104 | } 105 | 106 | return $result; 107 | } 108 | } -------------------------------------------------------------------------------- /src/bundle/windows/WindowsException.php: -------------------------------------------------------------------------------- 1 | start(); 24 | 25 | $wshResult = new wshResult($process); 26 | $wshResult->setCharset($charset); 27 | 28 | $output = $wshResult->getOutput(); 29 | 30 | if(strlen($output) == 0 and strlen($error = $wshResult->getError()) > 0){ 31 | throw new WindowsException('WindowsScriptHost Error: ' . $error); 32 | } 33 | 34 | return $output; 35 | } 36 | 37 | /** 38 | * --RU-- 39 | * Выполнить команду 40 | * @param string $command 41 | * @param array $params=array() параметры для замены (в запросе можно передать именованные параметры, как в PDO) 42 | * @param string $charset кодировка ответа (в командной строке по умолчанию cp866). utf-8 возвращает всё на английском языке 43 | * @param string $decodeCharset кодировка, из которой будет декодироваться ответ. Некоторые команды (например ipconfig), возвращают в cp866, даже если перед ней явно указан вывод командой chcp 44 | * @return string 45 | * @throws WindowsException 46 | */ 47 | public static function cmd($command, $params = [], $charset = 'utf-8', $decodeCharset = 'auto'){ 48 | if($charset == 'utf-8') $chcp = 65001; 49 | else $chcp = str_replace(['cp', 'windows', '-'], '', $charset); 50 | 51 | $command = Windows::getSystem32('chcp.com') . ' ' . $chcp . '>nul & ' . $command; 52 | $command = Prepare::Query($command, $params); 53 | return self::Exec([Windows::getSystem32('cmd.exe'), '/c', $command], true, ($decodeCharset == 'auto' ? $charset : $decodeCharset)); 54 | } 55 | 56 | /** 57 | * --RU-- 58 | * Сделать запрос к WMI 59 | * @param string $query 60 | * @return array 61 | * @throws WindowsException 62 | */ 63 | public static function WMIC($query){ 64 | // more убирает лишние байты возле символа переноса строки, что значительно упрощает парсинг 65 | // cp866 не должно конфликтовать с more 66 | $data = self::cmd(Windows::getSystem32('wbem\\wmic.exe') . ' :query /Format:List | ' . Windows::getSystem32('more.com'), ['query' => $query], 'cp866'); 67 | 68 | $reg = '([^\n=]+)=([^\n\r]+)'; 69 | $regex = Regex::of($reg, Regex::CASE_INSENSITIVE + Regex::MULTILINE)->with($data); 70 | 71 | $return = []; 72 | $key = 0; 73 | while ($regex->find()) { 74 | $k = $regex->group(1); 75 | $v = $regex->group(2); 76 | if (isset($return[$key][$k])) $key++; 77 | $return[$key][$k] = $v; 78 | } 79 | // Не возвращает [0], т.к. может быть несколько устройств, напирмер, sounddev get 80 | return $return; 81 | } 82 | 83 | /** 84 | * --RU-- 85 | * Выполнить скрипт PowerShell 86 | * @param string $query 87 | * @param array $params параметры для замены 88 | * @param bool $wait ожидать окончания 89 | * @return string 90 | * @throws WindowsException 91 | */ 92 | public static function PowerShell($query, $params = [], $wait = true){ 93 | $query = "[Console]::OutputEncoding = [System.Text.Encoding]::UTF8\n" . $query; 94 | $source = Prepare::Query($query, $params); 95 | $command = 'Invoke-Expression ([System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String(\'' . base64_encode($source) . '\')))'; 96 | $psPath = Windows::getSysNative('WindowsPowerShell\\v1.0\\powershell.exe'); 97 | return self::Exec([$psPath, '-inputformat', 'none', '-command', $command], $wait, 'utf-8'); 98 | } 99 | 100 | /** 101 | * --RU-- 102 | * Выполнить скрипт vbScript (должен располагаться в одну строку) 103 | * @param string $query 104 | * @param string $params 105 | * @return string 106 | * @throws WindowsException 107 | * @deprecated 108 | */ 109 | public static function vbScript($query, $params = []){ 110 | $command = Prepare::Query($query, $params); 111 | 112 | $cmd = new Prepare(Windows::getSystem32('mshta.exe') . ' vbscript:Execute(":query(window.close)")'); 113 | $cmd->addStringQuotes = false; 114 | $cmd->quotesPolicy = 2; 115 | return self::cmd($cmd->getQuery(['query' => $command])); 116 | } 117 | } -------------------------------------------------------------------------------- /src/bundle/windows/Wlan.php: -------------------------------------------------------------------------------- 1 | with($cmd); 28 | while ($regexp->find()){ 29 | $k = trim($regexp->group(1)); 30 | $v = trim($regexp->group(2)); 31 | if(isset($interfaces[$i][$k]))$i++; 32 | 33 | $interfaces[$i][$k] = $v; 34 | } 35 | 36 | foreach($interfaces as $k=>$interface){ 37 | $interfaces[$k] = new wlanInterface($interface); 38 | } 39 | 40 | return $interfaces; 41 | } 42 | 43 | /** 44 | * Есть ли оборудование для работы с беспроводными сетями 45 | * @return boolean 46 | */ 47 | public static function isSupported() : bool { 48 | return !str::contains(WSH::cmd('netsh wlan show interfaces'), 'is not running'); 49 | } 50 | 51 | /** 52 | * Получить используемый беспроводной интерфейс (идёт первый в списке интерфейсов) 53 | * @return wlanInterface 54 | */ 55 | public static function getMainInterface() : wlanInterface { 56 | return self::getInterfaces()[0]; 57 | } 58 | 59 | } -------------------------------------------------------------------------------- /src/bundle/windows/api/CSharp.php: -------------------------------------------------------------------------------- 1 | source = $source; 20 | } 21 | 22 | /** 23 | * Вызов метода 24 | * @param string $class 25 | * @param string $method 26 | * @param array $args 27 | * @return string 28 | */ 29 | public function call(string $class, string $method, array $args = []) : string { 30 | $argString = []; 31 | foreach ($args as $arg) { 32 | $argString[] = var_export($arg, true); 33 | } 34 | $argString = implode(", ", $argString); 35 | 36 | // Если использовать CSharpVersion3, там нет поддержки dynamic, CSharp по умолчанию использует последнюю доступную версию 37 | $ps = "Add-Type -Language CSharp -TypeDefinition @\"" . $this->source . "\n\"@\n" . 38 | "[$class]::$method($argString)"; 39 | 40 | return WSH::PowerShell($ps); 41 | } 42 | } -------------------------------------------------------------------------------- /src/bundle/windows/api/Dll.php: -------------------------------------------------------------------------------- 1 | libName = $libName; 16 | } 17 | 18 | public function createMethod($methodName, $argsString, $source){ 19 | 20 | } 21 | 22 | public function __call(string $method, array $args = []){ 23 | $arguments = $args[0] ?? []; 24 | $returnType = $args[1] ?? 'dynamic'; 25 | $arguments = !is_array($arguments) ? [$arguments] : $arguments ; 26 | $argString = []; 27 | 28 | foreach ($arguments as $i => $arg) { 29 | $type = gettype($arg); 30 | $type = ($type == 'integer') ? 'int' : $type ; 31 | $argString[] = $type . ' arg' . $i; 32 | } 33 | 34 | $argString = implode(", ", $argString); 35 | $class = $this->genClassCode($method, $argString, $returnType); 36 | $cs = new CSharp($class); 37 | return $cs->call('DNSharp', $method, $arguments); 38 | } 39 | 40 | protected function genClassCode($method, $argString, $returnType = 'dynamic'){ 41 | return ' 42 | using System; 43 | using System.Runtime.InteropServices; 44 | using System.Text; 45 | public class DNSharp { 46 | [DllImport("'. $this->libName . '",CharSet=CharSet.Unicode)] 47 | public static extern '. $returnType . ' '. $method . '(' . $argString . '); 48 | }'; 49 | } 50 | } -------------------------------------------------------------------------------- /src/bundle/windows/result/abstractItem.php: -------------------------------------------------------------------------------- 1 | {$key}; 13 | } 14 | return $array; 15 | } 16 | } -------------------------------------------------------------------------------- /src/bundle/windows/result/abstractResult.php: -------------------------------------------------------------------------------- 1 | data[$key] = $value; 16 | } 17 | 18 | public function first(){ 19 | return array_values($this->data)[0]; 20 | } 21 | 22 | public function rewind(){ 23 | reset($this->data); 24 | $this->next(); 25 | } 26 | 27 | public function length(){ 28 | return sizeof($this->data); 29 | } 30 | 31 | public function current(){ 32 | return current($this->data); 33 | } 34 | 35 | public function key(){ 36 | return key($this->data); 37 | } 38 | 39 | public function next(){ 40 | return next($this->data); 41 | } 42 | 43 | public function valid(){ 44 | $key = key($this->data); 45 | return ($key !== NULL && $key !== FALSE); 46 | } 47 | 48 | public function toArray(){ 49 | return $this->data; 50 | } 51 | } -------------------------------------------------------------------------------- /src/bundle/windows/result/comItem.php: -------------------------------------------------------------------------------- 1 | port = $port; 27 | $this->params = $params; 28 | } 29 | 30 | /** 31 | * Port 32 | * --RU-- 33 | * Порт 34 | * @return string 35 | */ 36 | public function getPort(){ 37 | return $this->port; 38 | } 39 | 40 | /** 41 | * Port params 42 | * --RU-- 43 | * Параметры 44 | * @return array 45 | */ 46 | public function getParams(){ 47 | return $this->params; 48 | } 49 | 50 | /** 51 | * --RU-- 52 | * Подключиться к порту 53 | * @param string $mode='r' 54 | * @return php\io\MiscStream 55 | * @throws IOException 56 | */ 57 | public function connect($mode = 'r'){ 58 | return MiscStream::of($this->port); 59 | } 60 | 61 | /** 62 | * --RU-- 63 | * Установить скорость порта (бод) 64 | * @param int $baud 65 | * @throws WindowsException 66 | */ 67 | public function setBaud($baud){ 68 | return WSH::cmd('mode ' . $this->port . ' baud=' . $baud); 69 | } 70 | 71 | public function __toString(){ 72 | return (string) $this->port; 73 | } 74 | 75 | } -------------------------------------------------------------------------------- /src/bundle/windows/result/lanAdapter.php: -------------------------------------------------------------------------------- 1 | name = $name; 24 | $this->params = $params; 25 | 26 | $this->device = $params['Description'] ?? null; 27 | $this->ipv4 = isset($params['IPv4 Address']) ? str_replace(['%5','(Preferred)'], '', $params['IPv4 Address']) : null; 28 | $this->ipv6 = explode('%', str_replace(['(Preferred)'], '', ($params['IPv6 Address'] ?? $params['Link-local IPv6 Address'] ?? null)))[0]; 29 | 30 | $this->mac = str_replace('-', ':', $params['Physical Address'] ?? null); 31 | } 32 | 33 | /** 34 | * Получить имя адаптера 35 | */ 36 | public function getName() : string { 37 | return $this->name; 38 | } 39 | 40 | /** 41 | * Получить параметры адаптера 42 | */ 43 | public function getParams() : array { 44 | return $this->params; 45 | } 46 | 47 | /** 48 | * Получить описание устройства 49 | */ 50 | public function getDevice() : string { 51 | return $this->device; 52 | } 53 | 54 | /** 55 | * Получить mac адрес 56 | */ 57 | public function getMac() : string { 58 | return $this->mac; 59 | } 60 | 61 | /** 62 | * Получить IPv4 адрес 63 | */ 64 | public function getIPv4() : string { 65 | return $this->ipv4; 66 | } 67 | 68 | /** 69 | * Получить IPv6 адрес 70 | */ 71 | public function getIPv6() : string { 72 | return $this->ipv6; 73 | } 74 | 75 | /** 76 | * Доступна ли сеть на данном адаптере 77 | */ 78 | public function isNetworkEnabled() : bool { 79 | return $this->params['NetEnabled'] ?? false; 80 | } 81 | 82 | /** 83 | * Подключен ли сетевой кабель 84 | */ 85 | public function isConnected() : bool { 86 | return str::contains(WSH::cmd('netsh interface show interface name=":adapter"', ['adapter' => $this->name]), 'Connected'); 87 | } 88 | 89 | /** 90 | * Включен ли адаптер 91 | */ 92 | public function isEnabled() : bool { 93 | return str::contains(WSH::cmd('netsh interface show interface name=":adapter"', ['adapter' => $this->name]), 'Enabled'); 94 | } 95 | 96 | /******************/ 97 | /** 98 | * Отключить адаптер (нужны права администратора) 99 | */ 100 | public function disable() : bool { 101 | return strlen(WSH::cmd('netsh interface set interface name=":adapter" admin=disabled', ['adapter' => $this->name])) == 0; 102 | } 103 | 104 | /** 105 | * Включить интерфейс (нужны права администратора) 106 | */ 107 | public function enable() : bool { 108 | return strlen(WSH::cmd('netsh interface set interface name=":adapter" admin=enabled', ['adapter' => $this->name])) == 0; 109 | } 110 | } -------------------------------------------------------------------------------- /src/bundle/windows/result/registryItem.php: -------------------------------------------------------------------------------- 1 | key = $key; 34 | $this->value = $value; 35 | $this->type = $type; 36 | } 37 | 38 | /** 39 | * Type. 40 | * --RU-- 41 | * Тип 42 | * @return string 43 | */ 44 | public function getType(){ 45 | return $this->type; 46 | } 47 | 48 | /** 49 | * Key name. 50 | * --RU-- 51 | * Название ключа. 52 | * @return string 53 | */ 54 | public function getKey(){ 55 | return $this->key; 56 | } 57 | 58 | /** 59 | * Value. 60 | * --RU-- 61 | * Значение. 62 | * @return string 63 | */ 64 | public function getValue(){ 65 | return $this->value; 66 | } 67 | 68 | public function __toString(){ 69 | return (string) $this->value; 70 | } 71 | 72 | } -------------------------------------------------------------------------------- /src/bundle/windows/result/registryResult.php: -------------------------------------------------------------------------------- 1 | path = $path; 18 | } 19 | 20 | public function addData($key, $type, $value){ 21 | $this->data[] = new registryItem($key, $type, $value); 22 | } 23 | 24 | public function toArray(){ 25 | return [$this->path => $this->data]; 26 | } 27 | 28 | /** 29 | * Get path 30 | * --RU-- 31 | * Получить путь 32 | * @return string 33 | */ 34 | public function getPath(){ 35 | return $this->path; 36 | } 37 | 38 | /** 39 | * Вернуть класс Registry для текущего пути 40 | * @return Registry 41 | */ 42 | public function registry(){ 43 | return new Registry($this->path); 44 | } 45 | } -------------------------------------------------------------------------------- /src/bundle/windows/result/startupItem.php: -------------------------------------------------------------------------------- 1 | title = $title; 65 | $this->location = $location; 66 | $this->command = $command; 67 | 68 | $file = $this->getFileFromCommand($command); 69 | $this->file = realpath(Windows::expandEnv($file)); 70 | 71 | if($location == 'Startup'){ 72 | $this->shortcut = Startup::getUserStartupDirectory() . '\\' . $this->command; 73 | $this->file = Windows::getShortcutTarget($this->shortcut); 74 | } elseif($location == 'Common Startup'){ 75 | $this->shortcut = Startup::getCommonStartupDirectory() . '\\' . $this->title . '.lnk'; 76 | } elseif(str::startsWith($location, 'HK')){ 77 | $this->shortcut = $location; 78 | $this->location = 'Registry'; 79 | } 80 | 81 | $this->forAllUsers = $this->isForAllUsers(); 82 | } 83 | 84 | /** 85 | * Автозагрузка для всех пользователей 86 | * @return bool 87 | */ 88 | public function isForAllUsers(){ 89 | return $this->location == 'Common Startup' || 90 | ($this->location == 'Registry' && str::startsWith($this->shortcut, 'HKEY_LOCAL_MACHINE')); 91 | 92 | } 93 | 94 | private function getFileFromCommand($command){ 95 | $file = null; 96 | if(str::contains($command, '"') and str::sub($command, 0, 1) == '"'){ 97 | $file = str::sub($command, 1, str::pos($command, '"', 1)); 98 | } elseif($reg = Regex::of("\\\\([^\\s\\\\]+\\.[^\\s\\\\]+)(\\s[\\S]+)+", Regex::CASE_INSENSITIVE)->with($command) and $reg->find()){ 99 | $file = $reg->group(1); 100 | } else { 101 | $file = $command; 102 | } 103 | 104 | return $file; 105 | } 106 | 107 | /** 108 | * --RU-- 109 | * Удалить объект из автозагрузки 110 | * @return bool 111 | */ 112 | public function delete(){ 113 | if($this->location == 'Registry'){ 114 | try{ 115 | Registry::of($this->shortcut)->deleteKey($this->title); 116 | return true; 117 | } catch (WindowsException $e){ 118 | return false; 119 | } 120 | } else { 121 | return fs::delete($this->shortcut); 122 | } 123 | } 124 | 125 | /** 126 | * --RU-- 127 | * Заголовок 128 | * @return string 129 | */ 130 | public function getTitle(){ 131 | return $this->title; 132 | } 133 | 134 | /** 135 | * --RU-- 136 | * Команда для запуска 137 | * @return string 138 | */ 139 | public function getCommand(){ 140 | return $this->command; 141 | } 142 | 143 | /** 144 | * --RU-- 145 | * Путь к исполняемому файлу 146 | * @return string 147 | */ 148 | public function getFile(){ 149 | return $this->file; 150 | } 151 | 152 | /** 153 | * --RU-- 154 | * Путь к ярлыку для запуска 155 | * @return string 156 | */ 157 | public function getShortcut(){ 158 | return $this->shortcut; 159 | } 160 | 161 | /** 162 | * --RU-- 163 | * Расположение записи для запуска 164 | * @return string 165 | */ 166 | public function getLocation(){ 167 | return $this->location; 168 | } 169 | } -------------------------------------------------------------------------------- /src/bundle/windows/result/taskItem.php: -------------------------------------------------------------------------------- 1 | name = $name; 89 | $this->pid = $pid; 90 | $this->sessionName = $sessionName; 91 | $this->sessionNumber = $sessionNumber; 92 | $this->memory = intval(str_replace([" ", ' ', 'K', 'M'], ['', '', '000', '000000'], $memory)); 93 | $this->status = $status; 94 | $this->user = ($user == 'N/A') ? null : $user; 95 | 96 | $time = explode(':', $cpuTime); 97 | //var_dump([$cpuTime => $time]); 98 | $this->cpuTime = ($time[0] * 60 * 60) + ($time[1] * 60) + ($time[2]); 99 | //$this->cpuTime = [$cpuTime => $time]; 100 | $this->title = ($title == 'N/A') ? null : $title; 101 | } 102 | 103 | /** 104 | * Завершить процесс 105 | * @throws WindowsException 106 | */ 107 | public function kill(){ 108 | return WSH::cmd('taskkill /F /PID ":process"', ['process' => $this->pid]); 109 | } 110 | } -------------------------------------------------------------------------------- /src/bundle/windows/result/taskResult.php: -------------------------------------------------------------------------------- 1 | data[] = new taskItem( 13 | $params[0][1], 14 | $params[1][1], 15 | $params[2][1], 16 | $params[3][1], 17 | $params[4][1], 18 | $params[5][1], 19 | $params[6][1], 20 | $params[7][1], 21 | $params[8][1] 22 | ); 23 | } 24 | 25 | /** 26 | * --RU-- 27 | * Завершить процессы 28 | * @throws WindowsException 29 | */ 30 | public function kill(){ 31 | foreach($this->data as $k => $v){ 32 | try{ 33 | $v->kill(); 34 | }catch(WindowsScriptHost $e){ 35 | 36 | } 37 | unset($this->data[$k]); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /src/bundle/windows/result/wlanInterface.php: -------------------------------------------------------------------------------- 1 | name = $params['Name'] ?? null; 22 | $this->description = $params['Description'] ?? null; 23 | $this->mac = $params['Physical address'] ?? UXApplication::getMacAddress(); 24 | } 25 | 26 | /** 27 | * Получить имя интерфейса 28 | */ 29 | public function getName() : string { 30 | return $this->name; 31 | } 32 | 33 | /** 34 | * Получить описание интерфейса 35 | */ 36 | public function getDescription() : string { 37 | return $this->description; 38 | } 39 | 40 | /** 41 | * Получить mac-адрес 42 | */ 43 | public function getMac() : string { 44 | return $this->mac; 45 | } 46 | 47 | /** 48 | * Получить текущий профиль (обычно совпадает с именем подключённой сети) 49 | */ 50 | public function getProfile() : string { 51 | $params = $this->getParams(); 52 | return $params['Profile'] ?? null ; 53 | } 54 | 55 | /** 56 | * Получить пароль текущего профиля 57 | */ 58 | public function getPassword() : string { 59 | $temp = Windows::getTemp(); 60 | 61 | $profile = WSH::cmd('netsh wlan show profile name=":name" interface=":interface" key=clear', [ 62 | 'name' => $this->getProfile(), 63 | 'interface' => $this->name 64 | ]); 65 | 66 | $regexp = Regex::of('\n([^:\n]+)\s+:([^\n]+)', Regex::MULTILINE)->with($profile); 67 | while ($regexp->find()){ 68 | $k = str::lower(trim($regexp->group(1))); 69 | $v = trim($regexp->group(2)); 70 | 71 | // win7 fix: между словами key и content какой-то знак, не являющийся пробелом, поэтому определяем ключ таким образом 72 | if(str::contains($k, 'key') && str::contains($k, 'content')) return $v; 73 | } 74 | return false; 75 | } 76 | 77 | /** 78 | * Перезагрузить интерфейс (нужны права администратора) 79 | */ 80 | public function reload(){ 81 | $this->disable(); 82 | $this->enable(); 83 | } 84 | 85 | /** 86 | * Отключить интерфейс (нужны права администратора) 87 | */ 88 | public function disable(){ 89 | WSH::cmd('netsh interface set interface name=":interface" admin=disabled', ['interface' => $this->name]); 90 | } 91 | 92 | /** 93 | * Включить интерфейс (нужны права администратора) 94 | */ 95 | public function enable(){ 96 | WSH::cmd('netsh interface set interface name=":interface" admin=enabled', ['interface' => $this->name]); 97 | } 98 | 99 | /** 100 | * Отключиться от сети 101 | */ 102 | public function disconnect(){ 103 | WSH::cmd('netsh wlan disconnect interface=":interface"', ['interface' => $this->name]); 104 | } 105 | 106 | /** 107 | * Переподключиться к текущей сети 108 | */ 109 | public function reconnect(){ 110 | $current = $this->getProfile(); 111 | $this->disconnect(); 112 | 113 | if(!is_null($current)){ 114 | $this->connect($current, false); 115 | } 116 | } 117 | 118 | /** 119 | * Подключиться к сети 120 | * @param string $ssid SSID сети 121 | * @param mixed $password Пароль длиной минимум 8 символов, или NULL, если пароль не нужен, или false, чтоб использовать сохранённые в системе настройки 122 | * @throws WindowsException 123 | */ 124 | public function connect($ssid, $password = false) : bool { 125 | if($password !== false){ 126 | // Сначала удалим профиль, если он существует 127 | WSH::cmd('netsh wlan delete profile name=":ssid" interface=":interface"', ['interface' => $this->name, 'ssid' => $ssid]); 128 | 129 | // Создаём файл профиля с авторизационными данными 130 | $file = $this->createConfig($ssid, $password); 131 | $profile = WSH::cmd('netsh wlan add profile filename=":file"', ['file' => $file]); 132 | unlink($file); 133 | 134 | if(str::contains($profile, 'error')){ 135 | throw new WindowsException($profile); 136 | } 137 | } 138 | 139 | // Подключаемся к сети используя файл профиля 140 | $connect = WSH::cmd('netsh wlan connect name=":ssid" interface=":interface"', ['interface' => $this->name, 'ssid' => $ssid]); 141 | if(str::contains($connect, 'Reason:')){ 142 | throw new WindowsException(explode('Reason: ', $connect)[1]); 143 | } 144 | 145 | if(str::contains($connect, 'successfully')){ 146 | $status = null; 147 | while(!str::contains($status, 'connected')){ 148 | $status = $this->getState(); 149 | usleep(100); 150 | } 151 | 152 | return $status == 'connected'; 153 | } else { 154 | return false; 155 | } 156 | } 157 | 158 | /** 159 | * Получить состояние подключения сети 160 | * @return string disconnected, authenticating, connected, connecting 161 | */ 162 | public function getState() : string { 163 | $params = $this->getParams(); 164 | return $params['State'] ?? 'disconnected'; 165 | } 166 | 167 | /** 168 | * Получить список параметров текущего интерфейса 169 | */ 170 | public function getParams() : array { 171 | $params = []; 172 | $data = WSH::cmd('netsh wlan show interface name=":interface"', ['interface' => $this->name]); 173 | $regexp = Regex::of('\s*([^:]+)\s+:([^\n]+)\n', Regex::MULTILINE)->with($data); 174 | while ($regexp->find()){ 175 | $k = trim($regexp->group(1)); 176 | $v = trim($regexp->group(2)); 177 | $params[$k] = $v; 178 | } 179 | 180 | return $params; 181 | } 182 | 183 | /** 184 | * Получить список обнаруженных Wi-Fi сетей 185 | * @return array 186 | */ 187 | public function getNetworks() : array { 188 | $networks = []; 189 | $i = -1; 190 | $cmd = WSH::cmd('netsh wlan show networks interface=":interface" mode=bssid', ['interface' => $this->name]); 191 | $cmd = explode('currently visible.', $cmd)[1]; 192 | 193 | $regex = Regex::of('([^:]+):([^\n]+)\n', Regex::MULTILINE)->with($cmd); 194 | while ($regex->find()){ 195 | $k = trim($regex->group(1)); 196 | $v = trim($regex->group(2)); 197 | 198 | if(str::startsWith($k, 'SSID')){ 199 | $k = 'SSID'; 200 | $i++; 201 | } 202 | elseif(str::startsWith($k, 'BSSID')) $k = 'BSSID'; 203 | elseif($k == 'Signal') $v = intval(str::replace($v, '%', '')); 204 | 205 | $networks[$i][$k] = $v; 206 | } 207 | 208 | return $networks; 209 | } 210 | 211 | /** 212 | * Генерация файла профиля (для авторизации в сети WiFi) 213 | * @param string $ssid 214 | * @param string $password=null 215 | * @return string Путь к файлу 216 | * @todo Авторизация с WEP 217 | */ 218 | protected function createConfig(string $ssid, string $password = null) : string { 219 | $xml = ' 220 | 221 | '. $ssid .' 222 | 223 | 224 | '. $ssid .' 225 | 226 | 227 | ESS 228 | manual 229 | 230 | '. (is_null($password) ? 231 | ' 232 | open 233 | none 234 | false 235 | ' : 236 | ' 237 | WPA2PSK 238 | AES 239 | false 240 | 241 | 242 | passPhrase 243 | false 244 | ' . $password . ' 245 | 246 | '). 247 | ' 248 | 249 | 250 | false 251 | 252 | '; 253 | $tmpFile = Windows::expandEnv('%TEMP%/wlan_connect_' . str::uuid() . '.xml'); 254 | file_put_contents($tmpFile, $xml); 255 | return $tmpFile; 256 | } 257 | } -------------------------------------------------------------------------------- /src/bundle/windows/result/wshResult.php: -------------------------------------------------------------------------------- 1 | process = $process; 17 | } 18 | 19 | public function setCharset($charset){ 20 | $this->charset = $charset; 21 | return $this; 22 | } 23 | 24 | public function getOutput(){ 25 | return $this->decodeStream($this->process->getInput()); 26 | } 27 | 28 | public function getError(){ 29 | return $this->decodeStream($this->process->getError()); 30 | } 31 | 32 | private function decodeStream($stream){ 33 | $data = $stream->readFully(); 34 | if($this->charset != null){ 35 | $data = str::decode($data, $this->charset); 36 | } 37 | 38 | return str::trim($data); 39 | } 40 | } --------------------------------------------------------------------------------