Войти

Показать полную графическую версию : Включен ли компютер в локальной сети?


iccup.platoon@vk
12-11-2014, 08:37
Приветствую, гуру.
Сколько не искал - никак не могу найти код, который просто напросто быстро определял - в сети ли компьютер. Что-то типа

sComp = 192.168.0.1
' некая проверяющая строка
If Компьютер_С_Адресом_sComp включен Then
' операции при Комп_Включен = True
Else
' операции при Комп_Включен = False
End If

Буду очень-очень рад вашей помощи... Жду с нетерпением.

Iska
12-11-2014, 09:57
Сколько не искал - никак не могу найти код, который просто напросто быстро определял - в сети ли компьютер. Что-то типа »
Смотрите здесь (http://forum.oszone.net/post-2105524.html#post2105524). Разумеется, если машина закрыта для пинга — не увидите.

iccup.platoon@vk
13-11-2014, 06:08
Iska, да, получилось. Огромное спасибо! Если интересно - вот что я делал:

Set WS = CreateObject("WScript.Shell")
set fso = createobject("Scripting.FileSystemObject")
set a = createobject("Excel.Application.12")
set b = a.workbooks.Add 'открываем книгу
set s = b.sheets(1) 'номер листа в книге
for i = 1 to 36
s.Cells(1,i).Clear 'очищаем 36 ячеек вниз
s.Columns(1).ColumnWidth = 20 'настраиваем ширину ячеек
Next
s.Cells(1,1).Value = "Java"
s.Cells(1,1).Font.Bold = True
For sInt = 1 to 36
sInt2 = sInt + 1
sPath = "\\192.168.0."&sInt&"\C\Program Files\Java\jre7\bin\java.exe"
If IsConnected("\\192.168.0."&sInt) Then
sVer = CreateObject("Scripting.FileSystemObject").GetFileVersion(sPath)
s.Cells(sInt2,1).Value = sVer
Else
s.Cells(sInt2,1).Value = "Connection error"
s.Cells(sInt2,1).Interior.Color = RGB(255,0,0)
End If
Next
s.SaveAs("D:\A.xlsx") 'Save As - он и есть Save As
b.close true 'закроем книгу, сохранив изменения
a.quit 'закроем Excel
MsgBox "Done"

Function IsConnected(strAddress)
Dim objSWbemObjectEx

IsConnected = False

For Each objSWbemObjectEx In GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQuery( _
"SELECT * FROM Win32_PingStatus WHERE Address = '" & strAddress & "'")

With objSWbemObjectEx
If Not IsNull(.StatusCode) And .StatusCode = 0 Then
IsConnected = True
End If
End With

Exit For
Next

Set objSWbemObjectEx = Nothing
End Function




© OSzone.net 2001-2012