 |
Проверка наличия работающих компьютеров в сети - Вопросы и ответы, обсуждения - Ваши вопросы по Pascal/Delphi только в данном разделе |
02.12.2012, 15:13
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 21.01.2011
 Сообщений: 36
 Популярность: 205
 Сказал(а) спасибо: 215
Поблагодарили 45 раз(а) в 19 сообщениях
|
Проверка наличия работающих компьютеров в сети
Небольшое предисловие:
Я долго лазил по инету ,чтобы найти рабочую часть кода для проверки наличия работающих компьютеров в сети , точнее запущенных. И вот я его нашел ,но проблема в том ,что я никогда не работал в этой области и поэтому вообще не понимаю какая часть кода за что отвечает , только так в общем смысле понимаю.
Нужна помощь:
Если кому не трудно объяснить эту небольшую часть кода из программы или направить так сказать на путь истинный...
Вот сама часть кода:
Сама функция:
Код:
function TfHTI.FillNetLevel(xxx: PNetResource; List:TListItems): Word;
Type
PNRArr = ^TNRArr;
TNRArr = array[0..59] of TNetResource;
Var
x: PNRArr;
tnr: TNetResource;
I : integer;
EntrReq,
SizeReq,
twx: THandle;
WSName: string;
LI:TListItem;
begin
Result :=WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY,RESOURCEUSAGE_CONTAINER, xxx, twx);
If Result = ERROR_NO_NETWORK Then Exit;
if Result = NO_ERROR then
begin
New(x);
EntrReq := 1;
SizeReq := SizeOf(TNetResource)*59;
while (twx <> 0) and
(WNetEnumResource(twx, EntrReq, x, SizeReq) <> ERROR_NO_MORE_ITEMS) do
begin
For i := 0 To EntrReq - 1 do
begin
Move(x^[i], tnr, SizeOf(tnr));
case tnr.dwDisplayType of
RESOURCEDISPLAYTYPE_SERVER:
begin
if tnr.lpRemoteName <> '' then
WSName:= tnr.lpRemoteName
else WSName:= tnr.lpComment;
LI:=list.Add;
LI.Caption:=copy(WSName,3,length(WSName)-2);
//list.Add(WSName);
end;
else FillNetLevel(@tnr, list);
end;
end;
end;
Dispose(x);
WNetCloseEnum(twx);
end;
end;
Вызов функции:
Код:
procedure TfHTI.ButtonScanClick(Sender: TObject);
begin
FillNetLevel(nil,ListView1.Items);
end;
Прошу не флудить ,а говорить или желательнее отвечать по делу!
     
|
|
|
02.12.2012, 16:20
|
#2
|
|
|
|
Старший сержант
|
 Регистрация: 29.07.2011
 Сообщений: 197
 Популярность: 8989
 Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
|
Re: Проверка наличия работающих компьютеров в сети
|
|
|
02.12.2012, 18:18
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 21.01.2011
 Сообщений: 36
 Популярность: 205
 Сказал(а) спасибо: 215
Поблагодарили 45 раз(а) в 19 сообщениях
|
Re: Проверка наличия работающих компьютеров в сети
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Да как бы все просто, если не знаете что за класс - пишите в гугле и он сразу выдает за что тот отвечает...
|
|
 |
|
 |
|
Я извиняюсь, если не правильно выразил свою мысль, но я не понимаю именно что делает большинство строк и в вою очередь прошу ,если вам действительно не трудно, расписать пояснение хотя бы для части строк,а если вам тяжело ,и вы любите говорить одно волшебное слово гугл, то просто не пишите тут ничего.
Мне надо не столько познание самого класса ,а именно этих нескольких строк...
Я знаю,что в гугле можно найти почти что угодно, но вот искать пояснение для каждой из строк, это по моему мнению и потраченому времени действительно тяжело, поэтому я и создал на форуме эту тему в разделе: Вопросы и ответы, обсуждения.
Спасибо за понимание.
Последний раз редактировалось Babls77; 02.12.2012 в 18:21.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 12:45.
|
 |