![]() |
![]() |
![]() |
|
пропинговать комп через обработку | ☑ | ||
---|---|---|---|---|
0
break
24.01.10
✎
13:44
|
есть ли возможность (я думаю есть) узнать подключен ли комп к локальной сети зная имя компа через код в обработке? натолкните, пожалуйста, на примерный код
|
|||
1
НикДляЗапросов
24.01.10
✎
13:46
|
а например открыть файл с такого компа, если не открывается то не в сети
|
|||
2
break
24.01.10
✎
13:47
|
а если доступ закрыт?, тут нужны права админа
|
|||
3
VitGun
24.01.10
✎
13:55
|
КомандаСистемы("ping ip_comp");
кажется так... |
|||
4
Vitello
24.01.10
✎
14:00
|
(3)Ну...ему наверно надо и ответ получить :)
|
|||
5
break
24.01.10
✎
14:03
|
(4) да как я узнаю результат?
|
|||
6
Aleksey_3
24.01.10
✎
14:04
|
КомандаСистемы("ping ip_comp >c:\log.txt");
Затем читай файл |
|||
7
Kuzen
24.01.10
✎
14:05
|
ыыы тока что решал такую же задачу только для 77
вощем использовал rom-mail.dll там есть ping. |
|||
8
dk
24.01.10
✎
14:17
|
||||
9
Kuzen
24.01.10
✎
14:18
|
Щас проверил в 81 ром майл не работатет
|
|||
10
break
24.01.10
✎
14:29
|
shell=Новый COMОбъект("WScript.Shell");
Сообщить(shell.run("ping -n 1 localhost")); При любом исходе выдает 0 |
|||
11
break
24.01.10
✎
15:07
|
нашел такой способ, без всяких логов
Процедура КнопкаВыполнитьНажатие(Кнопка) ответ =0; ответ = ping("ip_comp"); Сообщить( ?(ответ >0 ,"Есть соединение","Нет соединения" )); КонецПроцедуры Function Ping(IPАдрес) objShell = Новый COMОбъект("WScript.Shell") ; objScriptExec = objShell.Exec("ping.exe -n 1 " + IPАдрес,ложь) ; strPingResults = НРег(objScriptExec.StdOut.ReadAll()); Возврат Найти(strPingResults, "ttl="); EndFunction |
|||
12
break
24.01.10
✎
15:08
|
но меня не устраивает что появляется окно консоли, как ее запустить в скрытном режиме? выручайте!
|
|||
13
dk
24.01.10
✎
15:27
|
||||
14
BOZKURT
24.01.10
✎
15:38
|
||||
15
break
24.01.10
✎
15:48
|
(11) вот так правильнее будет
Процедура КнопкаВыполнитьНажатие(Кнопка) ответ =0; ответ = ping("ip_comp"); Сообщить( ?(ответ >0 ,"Есть соединение","Нет соединения" )); КонецПроцедуры Function Ping(IPАдрес) objShell = Новый COMОбъект("WScript.Shell") ; objScriptExec = objShell.Exec("ping.exe -n 1 " + IPАдрес) ; strPingResults = НРег(objScriptExec.StdOut.ReadAll()); Возврат Найти(strPingResults, "ttl="); EndFunction |
|||
16
break
24.01.10
✎
15:49
|
спасиб BOZKURT, но сначала бы хотел решить проблемку без ВК
|
|||
17
break
24.01.10
✎
17:00
|
вот оно ))) наконецто
Функция ПроверитьВклКомпа(name) Если ПустоеЗначение(name) = 1 Тогда Возврат 0; КонецЕсли; Попытка scrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl"); scrptCtrl.language="vbscript"; scrptCtrl.addcode(" |Function Avaible() |Set objWMIService = GetObject(""winmgmts:{impersonationLevel=impersonate}"") |Set objPing = objWMIService.ExecQuery(""select * from Win32_PingStatus where address = '"+name+"'"") |For Each objStatus in objPing |If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then | Avaible = 0 |Else | Avaible = 1 |End If |Next |End function |"); Рез = ScrptCtrl.Run("Avaible"); Возврат Рез; Исключение Сообщить("Тест 1"); Возврат 0; КонецПопытки; КонецФункции // ПроверитьВклКомпа() |
|||
18
dk
24.01.10
✎
17:08
|
хде спасибо?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |