Cześć :)

Mam do was szanowni koledzy pytanie:
Otóż zrobiłem programik za pomocą którego mogę rozłączyć lub połączyć się z internetem. (zamiast wyjmowania kabelka )
Mój program w swych procedurach wywołuje
do tego celu programik jaki jest już zainstalowany standardowo w systemie. Wywołanie tego drugiego programu zrobiłem w wątkach - aby nie powstrzymywał mi działania mojego programu do chwili kiedy sam się zakończy.
Wszystko jest niby było ok. w normalnych kablówkach program szybciutko uzyskuje połączenie. Ale testowałem programik na WirLanie,
no i pojawił sie problem. :-/
Przy spadkach sygnału ten programik systemowy którego użyłem nie może połączyć się ponownie z netem. I trwa to bardzo długo zanim sygnał radiowy nie wzrośnie do odpowiedniego poziomu.
Ten program czeka i wstrzymuje moją aplikację - a ja nie mogę ani
oknem ruszyć ani innej operacji zrobić <ort>dopuki </ort>ten wywołany programik
nie zakończy operacji.
Wywołuje go w wątkach ale to i tak nic nie daje.
Więc pytam - popełniłem jakiś błąd , czy może jest jakiś inny sposób
by uniezależnić działanie mojego programu od tego drugiego ?

Procedura wznawiająca połączenie:

//Łączenie z netem (wątek)
PROCEDURE TConnect.Execute;
var
 sciezka :String;
Begin
 FreeOnTerminate:= True;             //zakończ wątek po wykonaniu tej procedury
 //uruchomienie drugiego programu z podanym parametrem i schowanym oknem
 sciezka:='command.com /c '+KatWindows+'\IPcfg.exe/renew 1';
 WinExec(PChar(sciezka),SW_Hide);
End; 

Eh.. i moje drugie odświeżone pytanie które leży latami bez odpowiedzi.
Wiem że do wyciągania nazwy użytkownika i kompa (nie mylić z moim)znajdującego się w sieci wykorzystane są funkcje NETBios chyba...:-/
Podaje się IP danego użytkownika aktualnie obecnego w sieci i można uzyskać o nim informację. Tak bynajmniej robią skanery sieci.
I tu ort!... Naściągałem różnych kodów ale wszystkie podają jak
pobrać moją nazwę kompa i użytkownika - a mnie nie o to chodzi :-/
Czy ktoś z Was potrafi mi podpowiedzieć jak to się dzieje ?
Z jakiego pakietu trzeba ściągnąć te dane ? Czy trzeba łączyć się z serwerem DNS ? No i <ort>w ogóle</ort>...
Ogłupiałem już od tego dumania. Skąd pobiera się te informacje.
Naściągałem skanerów i podglądałem czy czasem z jakiś bibliotek nie korzystają które są w systemie - i wyszło że nie.
Znaczy mają to w wewnętrzych procedurach.
Dopadłem jeden kod - ale wykorzystywał funkcje z biblioteki netbios32.dll (i nie wiem czy akurat to jest to czego szukam)
Ta biblia jest w systemach NT a ja mam windoze i oryginał jest netbios.dll
Więc <ort>ściągnołem </ort>tą biblię ale do niej potrzebne jeszcze z 5 innych :-/
i <ort>utknołem </ort>bo reszty nie mogę znależć :(
Więc proszę pomóżcie i jak możecie opiszcie tą czynność bym mógł zrozumieć jak i z czego pobrać powyżej omawiane informacje.