ru:autorun:documentation:sysinfo_func_getnetinterfaceinfo
GetNetInterfaceInfo
GetNetInterfaceInfo(<interface>, <id>)
Получает различную информацию по сетевому адаптеру. Может использоваться для получения текущей скорости передачи данных (см. пример).
Параметры
interface | Индекс интерфейса, для которого требуется получать информацию. Список всех интерфейсов с их номерами выводит команда «route print». Для удобства использования его можно получить с помощью функции GetNetInterface. |
id | Текстовый идентификатор запрашиваемых данных. Возможные идентификаторы перечислены в таблице ниже. |
Поддерживаемые идентификаторы
Идентификатор | Описание |
---|---|
Recv | Количество байт, полученных с момента инициализации сетевого адаптера. |
Send | Количество байт, полученных с момента инициализации сетевого адаптера. |
Speed | Физическая скорость интерфейса (например, 1000 Мбит/с) |
MTU | Maximum Transmission Unit |
Type | Тип интерфейса. Возможные значения можно посмотреть на сайте Microsoft. |
Name | Системное имя интерфейса. |
Descr | Описание интерфейса. |
MAC | Физический адрес интерфейса. |
Примечания
В случае если возникла ошибка при получении, функция вернет пустую строку, а макрос ERROR будет установлен в 1.
Пример
Пример получения скорости приёма и передачи данных и вывода их в заголовок Total Commander.
LoadLibrary "Plugins\Autorun_Sysinfo.dll" LoadLibrary "Plugins\Autorun_Runtime.dll" # Сохранение исходного заголовка Global sTitle = WinGetText() RunThread UpdateTitle Func UpdateTitle Local nRecvSpeed, nSendSpeed While 1 # Такая задержка позволяет получить скорость за 1с Sleep 1000 GetNetSpeed(nRecvSpeed, nSendSpeed) WinSetText(sTitle & " [ " & Round(nRecvSpeed) & " kb/s | " & Round(nSendSpeed) & " kb/s ]") Wend EndFunc # вспомогательная функция для расчёта скорости Func GetNetSpeed(ByRef nRecvSpeed, ByRef nSendSpeed) Static nIntfIdx= GetNetInterface() If error Then Return Static nPrevRecv = GetNetInterfaceInfo(nIntfIdx, 'Recv'), nPrevSend = GetNetInterfaceInfo(nIntfIdx, 'Sent') Local nRecv = GetNetInterfaceInfo(nIntfIdx, 'Recv') Local nSend = GetNetInterfaceInfo(nIntfIdx, 'Sent') nRecvSpeed = Abs(nRecv - nPrevRecv) / 1024 nSendSpeed = Abs(nSend - nPrevSend) / 1024 nPrevRecv = nRecv nPrevSend = nSend EndFunc
ru/autorun/documentation/sysinfo_func_getnetinterfaceinfo.txt · Последнее изменение: 2024/03/15 13:00 — loopback