![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
опять таки - Как узнать рабочую группу компьютера? НО....... [D7, WinXP]
RAshka © (2004-06-06 20:43:00)Проблемма:
нужно определить список рабочих групп, по IP'кам.
На ссылках...
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1085154549&n=4
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1083750681&n=4
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1082989601&n=4
... я уже был. То что там есть - помогло... НО
... возникла другая проблемма.
Алгоритм:
Изначально сканируется сеть - определям 22 активных компа.
Дальше определяется раб.группы:
* для 17 компов рабочие группы определяются правильно (тут проблем нет :)
* для 4 компов опеределяет раб.группу как "Unknown" (проблемма)
* на 1 компе, не проходит функция "WNetGetProviderName", соответственно до определения раб.группы и не доходит (тоже проблемма)
В чём может быть проблемма и как её решить ?
п.с.другие же программы верно определяют рабочие группы для всех компьютеров
RAshka (2004-06-13 01:20:00) [1]Неужели всё?
Плиз - помогите...
RAshka (2004-06-08 10:23:00) [2]вот код - он взять из:
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1083750681&n=4
function raTThread.process_DetectWorkgroup(strIP:String):String;
var
BufTemp : PChar;
BufSize : DWORD;
Buf : Array[1..10] of TNetResource;
WorkgroupRS : TNetResource;
StrCopy : String;
begin
Result:='';
FillChar(WorkgroupRS,SizeOf(WorkgroupRS),0);
BufSize:=100;
GetMem(BufTemp,BufSize);
try
if WNetGetProviderName(WNNC_NET_LANMAN, BufTemp, BufSize)=NO_ERROR then
begin
StrCopy:=BufTemp;
WorkgroupRS.dwType := RESOURCETYPE_ANY;
WorkgroupRS.lpRemoteName:=PChar('\\'+strIP);
WorkgroupRS.lpProvider:=PChar(StrCopy);
end;
finally
FreeMem(BufTemp);
end;
BufSize:=100;
if WNetGetResourceParent(@WorkgroupRS, @Buf, BufSize)=NO_ERROR then
begin
Result:=Buf[1].lpRemoteName;
end;
end;
Rouse_ (2004-06-08 08:07:00) [3]Покажи код, нужно его посмотреть...