Çalışma grubu adını almak. [ÇÖZÜLDÜ]
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Çalışma grubu adını almak. [ÇÖZÜLDÜ]
Merhaba arkadaşlar öncelikle cevapler için teşekkür ederim.
sabahtan beri araştırmama rağmen düzgün birşey bulamadım tıkandım kaldım. Lütfen bilgisi olan yardımcı olurmu.
Bir ağ üzerindeki bilgisayar ları bulabiliyoruz bunların ip numarasını ağ adını vs vs bulabiliyoruz. Ama bu bilgisayarların yada kendi bilgisayarlarımızın çalışma grubunu bulamıyorum. Workgrup'u nasıl öğrenebilirim. ?
Hayırlı ramazanlar.
sabahtan beri araştırmama rağmen düzgün birşey bulamadım tıkandım kaldım. Lütfen bilgisi olan yardımcı olurmu.
Bir ağ üzerindeki bilgisayar ları bulabiliyoruz bunların ip numarasını ağ adını vs vs bulabiliyoruz. Ama bu bilgisayarların yada kendi bilgisayarlarımızın çalışma grubunu bulamıyorum. Workgrup'u nasıl öğrenebilirim. ?
Hayırlı ramazanlar.
En son ByDeniS tarafından 18 Ağu 2010 01:39 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Çalışma grubu adını almak.
Teşekkür ederim amaSimaWB yazdı:Denemedim ama burada anlatılmış
Kod: Tümünü seç
EC := Win95_NetWkstaUserGetInfo(nil, 1, Pointer(WS95));
if hNETAPI <> 0 then
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Çalışma grubu adını almak.
Indy TCP client ile öğrenilebilirmiş...
Kod: Tümünü seç
label1.caption := idTcpClient1.LocalName;
Re: Çalışma grubu adını almak.
Hayır öğrenilemez, IdTcpClient ile sadece bilgisayarınızın adını öğrenebilirsiniz. LocalAddr ilede ip adresini öğrenebilirsiniz. Ama ağ çalışma grubunu öğrenemezsiniz..Battosai yazdı:Indy TCP client ile öğrenilebilirmiş...Kod: Tümünü seç
label1.caption := idTcpClient1.LocalName;
Workgroup olarak nitelendirilen çalışma grubundan bahsediyorum.
Yinede cevabınız için teşekkür ederim.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Çalışma grubu adını almak.
Daha basit bir kullanımı aşağıda bulabilirsiniz;
Bu tarz durumlarda izlenmesi gereken yöntem ilgili API'nin Win32 Help'teki tanımının ne olduğuna bakmaktır. Ardından ilgili API metodunun Windows.pas altında tanımlı olması durumunda sorun yok, o tanım gereği kullanabilirsiniz. Ancak örneğimizde olduğu gibi Windows.pas dosyasında tanımlı değil ise; o zaman bizim yaptığımız gibi öncelikle API metodunun tanımlı olduğu DLL'i yüklemek ve ardından GetProcAddress ile o metodun adresini elde etmemiz gerekir. Yine Win32 API yardımında görebileceğiniz gibi; bu API metodu ile kullanılabilecek birden fazla record yapısı da mevcut. Level parametresinin alabileceği değerlere göre istediğimiz record yapısı farklılaşacaktır. Biz Level parametresine 100 geçerek istediğimiz için WKSTA_INFO_100 adlı recordumuz kullanılacak.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
type
WKSTA_INFO_100 = record
wki100_platform_id : Integer;
wki100_computername: PWideChar;
wki100_langroup : PWideChar;
wki100_ver_major : Integer;
wki100_ver_minor : Integer;
end;
PWKSTA_INFO_100 = ^WKSTA_INFO_100;
var
DLLHandle : THandle;
GetInfo : function(ServerName: PWideChar; Level: DWord; var BufPtr: Pointer): Integer; stdcall;
FreeInfo : function(Buffer : Pointer): Integer; stdcall;
Buffer : PWKSTA_INFO_100;
RetVal : Integer;
begin
DLLHandle := LoadLibrary('NETAPI32.DLL');
if DLLHandle <> 0 then
begin
@GetInfo := GetProcAddress(DLLHandle, 'NetWkstaGetInfo');
@FreeInfo:= GetProcAddress(DLLHandle, 'NetApiBufferFree');
RetVal := GetInfo(nil, 100, Pointer(Buffer));
if RetVal = 0 then
begin
Memo1.Lines.Add( WideCharToString(Buffer^.wki100_computername) );
Memo1.Lines.Add( WideCharToString(Buffer^.wki100_langroup) );
FreeInfo(Buffer);
end;
end;
FreeLibrary(DLLHandle);
end;
level
Specifies one of the following values to return the level of information provided.
Value Meaning
100 The bufptr parameter points to a WKSTA_INFO_100 structure.
101 The bufptr parameter points to a WKSTA_INFO_101 structure.
102 The bufptr parameter points to a WKSTA_INFO_102 structure.
302 The bufptr parameter points to a WKSTA_INFO_302 structure.
402 The bufptr parameter points to an WKSTA_INFO_402 structure.
502 The bufptr parameter points to a WKSTA_INFO_502 structure.
Re: Çalışma grubu adını almak.
@thelvaci
Teşekkür ederim örnekli cevap için. Ayrıca güzel bir noktaya değindiğiniz için ekstra teşekkür ederim (api olayları).
Hayırlı ramazanlar.
Teşekkür ederim örnekli cevap için. Ayrıca güzel bir noktaya değindiğiniz için ekstra teşekkür ederim (api olayları).
Hayırlı ramazanlar.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Çalışma grubu adını almak.
ByDeniS yazdı:@thelvaci
Teşekkür ederim örnekli cevap için. Ayrıca güzel bir noktaya değindiğiniz için ekstra teşekkür ederim (api olayları).
Hayırlı ramazanlar.
Rica ederim, hepimizin ramazan-ı şerifi mübarek olsun.