за мрежи....

8 отговора 272 прегледа
#1

за мрежи....

Някой може ли да ми каже как мога да получа информация за всички компютри, включени в локална мрежа като име, IP и т.н.? Май под Delphi не може да стане, но с някоя API функция? Уж търсих, ама нищо не намерих...

Отговор
в отговор на Lava_anon #2

Отг: за мрежи....

На един път не можеш да получиш всичко искано. Ако машините ти са в Windows-ка мрежа, можеш да получиш списък на машините в нея, а после по тях (имената на машините) да правиш ping, за да получиш IP-тата. Но предполагам, че това ще работи за доста тесен клас мрежи.
Както и да е, ако още те интересува, драсни едно писмо и ще ти пратя пример.

Отговор
в отговор на Mandor #3

Отг: за мрежи....

Става въпрос за windows мрежа... по-точно не съм доволен от winpopup и искам да си напиша програмка по мой вкус, която да я замества... е, надявам се ти става ясно за какво иде реч. ако имаш идея казвай, приемам всякакви идеи за това начинание

ПП ще я пиша на Delphi

Отговор
в отговор на Lava_anon #4

Отг: за мрежи....

FYI: Виж WNetEnumResource и изобщо API-функциите започващи с WNet*. С тяхна помощ може да намериш имената на всички компютри (и тяхните UNC path на шарнати дискове) и принтери във Windows-ката мрежа. По-нататък, за IP адреса не зная - сигурно ще намериш някоя функция в API-то.

Отговор
в отговор на Lava_anon #5

Отг: за мрежи....

Нямам идеи, имам пример... Затова ти казах да драснеш един мейл, за да го пратя някъде. Ако ти се рови сам - виж предишния отговор; всичко е базирано на посочените функции (WNet*).

Отговор
в отговор на Lava_anon #6

Отг: за мрежи....

adresa mi e lava20002001@yahoo.com

Отговор
в отговор на Lava_anon #7

Отг: за мрежи....

Ako goworq mnogo gluposti ne mi se syrdete ama ot programirane nishto ne razbiram.
Eto kakwo mi se wyrti w glawata:
Zashto ne si naprawish programkata da slusha na opredelen port, sled koeto da skanirash wsichki IP ot klasa ti na tozi port, samo 255 sa i da widish dali neshto otgowarq. Ako otgowarq neshto znachi ima nqkoi otsreshta.
A predpolagam po IP ne e trudno da se wzeme Name na mashnata.
I pri wlizane na programata w mregata tq shte gi obikalq wsichki do edin i shte im kazwa che dadenoto IP se e lognalo.
Malko kato towaren kamion ama bi trqbwalo da swyrshi rabota...


JAVA lets make things badly!!
Отговор
в отговор на Lava_anon #8

Отг: за мрежи....

DWORD WNetOpenEnum(
DWORD dwScope, // scope of enumeration
DWORD dwType, // resource types to list
DWORD dwUsage, // resource usage to list
LPNETRESOURCE lpNetResource, // resource structure
LPHANDLE lphEnum // enumeration handle buffer
);


Отговор
в отговор на bofh_anon #9

Re: Отг: за мрежи....

function BrowseForComputer(const winhandle : THANDLE; const title : string) : string;
//Pop up the standard 'Browse for computer' dialog box
var
BrowseInfo: TBrowseInfo;
IDRoot: PItemIDList;
Path: array[0..MAX_PATH] of Char;
begin
// Get the Item ID for Network Neighborhood
SHGetSpecialFolderLocation(winHandle, CSIDL_NETWORK, IDRoot);
ZeroMemory(@BrowseInfo, SizeOf(TBrowseInfo));
ZeroMemory(@path, MAX_PATH);
BrowseInfo.hwndOwner := winhandle;
BrowseInfo.pidlRoot := IDRoot;
BrowseInfo.lpszTitle := PChar(title);
BrowseInfo.pszDisplayName := @path;
// Include this flag to show computer only
BrowseInfo.ulFlags := BIF_BROWSEINCLUDEFILES;//FORCOMPUTER;// or BIF_RETURNONLYFSDIRS ;
SHBrowseForFolder(BrowseInfo);
result := path;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.Text:=browseforcomputer(0,'')
end;
posle ne ti teiabva IP izpolzvai NMMSG server i client i si napisal programkata :))
ot tam natatyyk e vypros na fantazia;)) akone shto ne stane i tyrsi niakoi neshta det gi niama sloji su shlobj;))

Отговор