Автор Тема: [Интеракция] Отслеживание работы функции  (Прочитано 462 раз)

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

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

Оффлайн Dellroc [?]

  • Осваивающий
  • **
  • Сообщений: 145
  • Репутация: 27
    • Награды
Добрый день.
Возникла проблема с зависанием функции в скрипте, а именно при подключении через WMI происходит зависание в ожидании ответа, который не приходит. Подскажите как сделать таймаут для такого подключения?

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

[Интеракция] Отслеживание работы функции
« Отправлен: Сентябрь 29, 2017, 10:45:38 »

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Интеракция] Отслеживание работы функции
« Ответ #1, Отправлен: Сентябрь 29, 2017, 18:18:47 »
Dellroc
Экстрасенсов нет, предоставьте ваш код.

Скорблю и помню.




Оффлайн Dellroc [?]

  • Осваивающий
  • **
  • Сообщений: 145

  • Автор темы
  • Репутация: 27
    • Награды
Re: [Интеракция] Отслеживание работы функции
« Ответ #2, Отправлен: Сентябрь 30, 2017, 19:02:34 »
Код: AutoIt [Выделить]
$oWMI = ObjGet('winmgmts:{impersonationLevel = impersonate}!\\'&$PC&'\root\cimv2:Win32_Process')

На вот этой строчке запинается в ожидании ответа

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Интеракция] Отслеживание работы функции
« Ответ #3, Отправлен: Сентябрь 30, 2017, 21:50:16 »
Код: AutoIt [Выделить]
$sPC = "."
$oServices = ObjGet("winmgmts:\\" & $sPC & "\root\CIMV2")
$oProcessSet = $oServices.ExecQuery("SELECT Name FROM Win32_Process")
For $oProcess In $oProcessSet
   ConsoleWrite(StringFormat("Process name: ==> %s\n", $oProcess.Name))
Next


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

Re: [Интеракция] Отслеживание работы функции
« Ответ #3 Отправлен: Сентябрь 30, 2017, 21:50:16 »

Оффлайн Dellroc [?]

  • Осваивающий
  • **
  • Сообщений: 145

  • Автор темы
  • Репутация: 27
    • Награды
Re: [Интеракция] Отслеживание работы функции
« Ответ #4, Отправлен: Октябрь 01, 2017, 00:32:23 »
Код: AutoIt [Выделить]
$oServices = ObjGet("winmgmts:\\" & $sPC & "\root\CIMV2")
$oProcessSet = $oServices.ExecQuery("SELECT Name FROM Win32_Process")

На каком-то из этих этапов залипает и мне нужно сделать так, чтобы он пропускал эти шаги по таймауту.

Помечен как лучший ответ пользователем Dellroc Отправлен Октябрь 01, 2017, 04:55:40

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Интеракция] Отслеживание работы функции
« Ответ #5, Отправлен: Октябрь 01, 2017, 04:48:03 »
Dellroc  [?]
Цитировать
На каком-то из этих этапов залипает
Код: AutoIt [Выделить]
Local $oErrorHandler = ObjEvent("AutoIt.Error", "_ErrFunc")
; ====================================================================================================
; Ваш код
; ====================================================================================================
Func _ErrFunc($oError)
   ConsoleWrite(@ScriptName & " (" & $oError.scriptline & ") : ==> COM Error intercepted !" & @CRLF & _
         @TAB & "err.number is: " & @TAB & @TAB & "0x" & Hex($oError.number) & @CRLF & _
         @TAB & "err.windescription:" & @TAB & $oError.windescription & @CRLF & _
         @TAB & "err.description is: " & @TAB & $oError.description & @CRLF & _
         @TAB & "err.source is: " & @TAB & @TAB & $oError.source & @CRLF & _
         @TAB & "err.helpfile is: " & @TAB & $oError.helpfile & @CRLF & _
         @TAB & "err.helpcontext is: " & @TAB & $oError.helpcontext & @CRLF & _
         @TAB & "err.lastdllerror is: " & @TAB & $oError.lastdllerror & @CRLF & _
         @TAB & "err.scriptline is: " & @TAB & $oError.scriptline & @CRLF & _
         @TAB & "err.retcode is: " & @TAB & "0x" & Hex($oError.retcode) & @CRLF & @CRLF)
EndFunc ;==>_ErrFunc


Оффлайн Dellroc [?]

  • Осваивающий
  • **
  • Сообщений: 145

  • Автор темы
  • Репутация: 27
    • Награды
Re: [Интеракция] Отслеживание работы функции
« Ответ #6, Отправлен: Октябрь 01, 2017, 04:55:56 »
Спасибо. Попробую.

Оффлайн Dellroc [?]

  • Осваивающий
  • **
  • Сообщений: 145

  • Автор темы
  • Репутация: 27
    • Награды
Re: [Интеракция] Отслеживание работы функции
« Ответ #7, Отправлен: Декабрь 05, 2017, 20:06:52 »
С этим кодом стал ошибку выдавать, но таймаут по прежнему большой. Его как-то можно уменьшить?

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

Re: [Интеракция] Отслеживание работы функции
« Ответ #7 Отправлен: Декабрь 05, 2017, 20:06:52 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
8 Ответов
6213 Просмотров
Последний ответ Ноябрь 26, 2009, 13:32:27
от asdf8
12 Ответов
3604 Просмотров
Последний ответ Май 18, 2013, 01:47:02
от Vova93
5 Ответов
2965 Просмотров
Последний ответ Июнь 14, 2013, 14:18:13
от Garrett
0 Ответов
1325 Просмотров
Последний ответ Июнь 14, 2013, 12:52:35
от madmasles
14 Ответов
9869 Просмотров
Последний ответ Июль 29, 2013, 01:29:10
от AZJIO
1 Ответов
1509 Просмотров
Последний ответ Январь 09, 2014, 04:48:13
от madmasles
3 Ответов
1026 Просмотров
Последний ответ Апрель 26, 2014, 20:18:32
от InnI
0 Ответов
649 Просмотров
Последний ответ Март 13, 2015, 21:38:40
от Юрий
0 Ответов
597 Просмотров
Последний ответ Май 21, 2015, 10:20:56
от Dmi3yD
5 Ответов
1599 Просмотров
Последний ответ Февраль 09, 2016, 12:54:16
от Cornet