Вниз
Скачать: CL | DM;

опять таки - Как узнать рабочую группу компьютера? НО.......   Найти похожие ветки 

 
RAshka ©   (2004-06-06 20:43) [0]

Проблемма:
 нужно определить список рабочих групп, по IP"кам.

На ссылках...
http://delphimaster.net/view/6-1085154549/
http://delphimaster.net/view/6-1085154549/
http://delphimaster.net/view/6-1085154549/
... я уже был. То что там есть - помогло... НО

... возникла другая проблемма.

Алгоритм:
Изначально сканируется сеть - определям 22 активных компа.
Дальше определяется раб.группы:
* для 17 компов рабочие группы определяются правильно (тут проблем нет :)
* для 4 компов опеределяет раб.группу как "Unknown" (проблемма)
* на 1 компе, не проходит функция "WNetGetProviderName", соответственно до определения раб.группы и не доходит (тоже проблемма)

В чём может быть проблемма и как её решить ?

п.с. другие же программы верно определяют рабочие группы для всех компьютеров


 
Rouse_ ©   (2004-06-08 08:07) [1]

Покажи код, нужно его посмотреть...


 
RAshka ©   (2004-06-08 10:23) [2]

вот код - он взять из:
http://delphimaster.net/view/6-1085154549/


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;


 
RAshka ©   (2004-06-13 01:20) [3]

Неужели всё?
Плиз - помогите...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
14-1090933308
UserCry
2004-07-27 17:01
2004.08.15
Как защититься от знакомого?


3-1090487874
Dmitriy O.
2004-07-22 13:17
2004.08.15
Как узнать прошла транзакция ?


14-1090820709
Izyum
2004-07-26 09:45
2004.08.15
Эмулятор терминала


11-1078401198
ssk
2004-03-04 14:53
2004.08.15
Printers - из VCL в KOL


3-1090389271
sergt
2004-07-21 09:54
2004.08.15
обновление данных в DBGrid2




   Наверх