Автор Тема: Получить состояния сетевых соединений программы  (Прочитано 1883 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alex33 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1419
  • Репутация: 177
  • Пол: Мужской
    • alekssamos ВКонтакте
    • Награды
  • Версия AutoIt: 3.3.12.0
Получить состояния соединений указанного процесса из ответа netstat:
Код: AutoIt [Выделить]
; пример
If Not ProcessExists("Skype.exe") Then
MsgBox(0, "skype не запущен", "программа Skype.exe не запущена")
Exit
EndIf
; получаем состояния у скайпа
$state = _GetConnectionState("Skype.exe")
If $state <> "" Then
MsgBox(0, "get state skype connections", $state)
Else
MsgBox(0, "соединений нет", "соединения у skype не найдены")
EndIf

; Функция _GetConnectionState получает состояния соединений указанного процесса
; параметры:
; $process имя или PID процесса для которого требуется получить состояния соединений
; значение по умолчанию: текущий выполняющийся скрипт.
; $ret_flag 0 (по умолчанию) вернуть элементы разделённые символом "|",
; 1 вернуть массив ($array[0] количество найденых соединений).
; $typeret 0 (по умолчанию) вернуть состояния,
; 1 вернуть [локальные IP-адреса]:[локальные порты],
; 2 вернуть [удалённые IP-адреса]:[удалённые порты].
Func _GetConnectionState($process = @AutoItPID, $ret_flag = 0, $typeret = 0)
$ret = ""
$runpid = Run("netstat -nb", "", @SW_HIDE, 6)
$runread = ""
While Not @error
$runread &= StdoutRead($runpid)
WEnd
$runread = StringStripWS($runread, 4)
$split = StringSplit($runread, " ")
For $c = 1 To $split[0]
If StringInStr($split[$c], $process) > 0 Then
If $typeret = 0 Then
$fc = $c - 1
ElseIf $typeret = 1 Then
$fc = $c - 3
ElseIf $typeret = 2 Then
$fc = $c - 2
Else
Return SetError(1, 0, 0)
EndIf
$ret &= $split[$fc]&"|"
EndIf
Next
$ret = StringReplace($ret, "|", "", -1)
If $ret_flag = 0 Then
Return $ret
ElseIf $ret_flag = 1 Then
$split2 = StringSplit($ret, "|")
Return $split2
Else
Return SetError(2, 0, 0)
EndIf
EndFunc


Русское сообщество AutoIt

Получить состояния сетевых соединений программы
« Отправлен: Сентябрь 02, 2013, 00:20:37 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
2982 Просмотров
Последний ответ Июль 09, 2010, 18:41:02
от aranea
2 Ответов
2295 Просмотров
Последний ответ Апрель 16, 2012, 20:57:51
от QQruza
10 Ответов
4362 Просмотров
Последний ответ Июль 07, 2012, 10:16:51
от Yashied
11 Ответов
3845 Просмотров
Последний ответ Август 25, 2012, 20:08:49
от Dimmak
5 Ответов
2720 Просмотров
Последний ответ Июнь 22, 2013, 18:25:34
от WSWR
9 Ответов
3435 Просмотров
Последний ответ Февраль 10, 2014, 19:51:13
от AZJIO
0 Ответов
697 Просмотров
Последний ответ Август 11, 2014, 02:12:41
от avsv3
2 Ответов
982 Просмотров
Последний ответ Январь 27, 2016, 18:22:07
от Tiberium6
0 Ответов
588 Просмотров
Последний ответ Апрель 21, 2016, 18:15:55
от LoveEl
1 Ответов
207 Просмотров
Последний ответ Июль 06, 2018, 07:25:40
от Tuxzer92