|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Поиск компьютеров в локальной сети и отображение их в виде дерева. |
|
[решено] Поиск компьютеров в локальной сети и отображение их в виде дерева.
|
Старожил Сообщения: 165 |
Профиль | Отправить PM | Цитировать
Здравствуйте. Допустим, у меня в локальной сети около 50 компьютеров и в один момент нужно узнать, какие из них онлайн и, если онлайн, скачать с одного из них (какой мне будет нужен) файл "D:\pic.png".
Список компьютеров нужно отобразить в виде дерева, который бы показывал не только имена компьютеров онлайн, а также группу (и подгруппу, если есть) к которой он относится. Проблема в том, что не все компьютеры могут быть онлайн и кто-то может сменить имя компьютера, а также его ип адрес в локальной сети. Как это сделать? |
|
Отправлено: 19:53, 29-01-2013 |
Старожил Сообщения: 165
|
Профиль | Отправить PM | Цитировать #include <GuiTreeView.au3> AutoItSetOption("MustDeclareVars", 1) Global $hMainWnd, $hTreeView,$hTreeViewComp[256][2],$i,$j $hMainWnd = GUICreate("Локальная сеть",500,300) $hTreeView = GUICtrlCreateTreeView(10,10,480,280) $i = 3 ;кол-во хандлов до функции GUISetState () _Start() _GUICtrlTreeView_Expand ($hTreeView) While 1 Switch GUIGetMsg($hMainWnd) Case 0 ContinueLoop Case -3 ExitLoop Case GUICtrlRead($hTreeView) If MsgBox(4,'Вопрос:','Вы действительно хотите скачать файл D:\pic.png с компьютера ' & $hTreeViewComp[GuiCtrlRead($hTreeView)][1])=6 Then FileCopy($hTreeViewComp[GuiCtrlRead($hTreeView)][1] & "\d\pic.png",@ScriptDir & '\pic.png') EndIf EndSwitch WEnd Func _Start () Local $oShell = ObjCreate("Shell.Application") Local $oFolder_Network Local $oFolder_EntireNetwork Local $objFolder_MSNetwork Local $oFolder_Domain Local $oFolder_MachineName Local $oFolderItem Local $oFolderItem_Domain Local $oFolderItem_MachineName ; Получение папки "Сетевое окружение" $oFolder_Network = $oShell.NameSpace("::{208D2C60-3AEA-1069-A2D7-08002B30309D}") ; Получение папки "Вся сеть" $oFolder_EntireNetwork = $oFolder_Network.Items().Item("EntireNetwork").GetFolder ; Получение папки "Microsoft Windows Network" For $oFolderItem In $oFolder_EntireNetwork.Items() If $oFolderItem.Name = "Microsoft Windows Network" Then $objFolder_MSNetwork = $oFolderItem.GetFolder If IsObj($objFolder_MSNetwork) Then ; Перебор доменов и рабочих групп For $oFolderItem_Domain In $objFolder_MSNetwork.Items() If $oFolderItem_Domain.IsFolder Then $i+=1 $j=$i $hTreeViewComp[$i][0] = GUICtrlCreateTreeViewItem($oFolderItem_Domain.Path & " [" & $oFolderItem_Domain.Name & "]",$hTreeView) $hTreeViewComp[$i][1] = $oFolderItem_Domain.Path $oFolder_Domain = $oFolderItem_Domain.GetFolder If IsObj($oFolder_Domain) Then ; Перебор компьютеров For $oFolderItem_MachineName In $oFolder_Domain.Items() $i+=1 $hTreeViewComp[$i][0] = GUICtrlCreateTreeViewItem($oFolderItem_MachineName.Path & " [" & $oFolderItem_MachineName.Name & "]",$hTreeViewComp[$j][0]) $hTreeViewComp[$i][1] = $oFolderItem_MachineName.Path Next Else ConsoleWriteError(@TAB & "Can't connect to [" & $oFolderItem_Domain.Name & "]" & @CRLF) EndIf EndIf Next Else ConsoleWriteError(@TAB & "Can't find [Microsoft Windows Network]" & @CRLF) EndIf ExitLoop EndIf Next EndFunc |
Последний раз редактировалось Pavluha, 30-01-2013 в 11:55. Причина: доделал код, разукрасил и дал ссылку Отправлено: 11:06, 30-01-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - Видимость компьютеров в локальной сети | Steam_89 | Сетевые технологии | 13 | 11-12-2012 22:04 | |
Разное - Отображение имен компьютеров в локальной сети | dimon91 | Microsoft Windows 7 | 1 | 02-06-2012 17:50 | |
Прочее - Пропала часть компьютеров локальной сети! | andrystepa | Сетевые технологии | 3 | 22-12-2011 09:58 | |
Разное - Как ускорить поиск и отображение сети? | nunahren | Microsoft Windows 7 | 5 | 08-11-2010 21:46 | |
Отображение компьютеров в сети | ZSM | Сетевые технологии | 4 | 07-10-2004 17:26 |
|