за мрежи....
8 отговора
272 прегледа
за мрежи....
Някой може ли да ми каже как мога да получа информация за всички компютри, включени в локална мрежа като име, IP и т.н.? Май под Delphi не може да стане, но с някоя API функция? Уж търсих, ама нищо не намерих...
Отг: за мрежи....
На един път не можеш да получиш всичко искано. Ако машините ти са в Windows-ка мрежа, можеш да получиш списък на машините в нея, а после по тях (имената на машините) да правиш ping, за да получиш IP-тата. Но предполагам, че това ще работи за доста тесен клас мрежи.
Както и да е, ако още те интересува, драсни едно писмо и ще ти пратя пример.
Както и да е, ако още те интересува, драсни едно писмо и ще ти пратя пример.
Отг: за мрежи....
Става въпрос за windows мрежа... по-точно не съм доволен от winpopup и искам да си напиша програмка по мой вкус, която да я замества... е, надявам се ти става ясно за какво иде реч. ако имаш идея казвай, приемам всякакви идеи за това начинание
ПП ще я пиша на Delphi
ПП ще я пиша на Delphi
Отг: за мрежи....
FYI: Виж WNetEnumResource и изобщо API-функциите започващи с WNet*. С тяхна помощ може да намериш имената на всички компютри (и тяхните UNC path на шарнати дискове) и принтери във Windows-ката мрежа. По-нататък, за IP адреса не зная - сигурно ще намериш някоя функция в API-то.
Отг: за мрежи....
Нямам идеи, имам пример... Затова ти казах да драснеш един мейл, за да го пратя някъде. Ако ти се рови сам - виж предишния отговор; всичко е базирано на посочените функции (WNet*).
Отг: за мрежи....
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!!
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!!
Отг: за мрежи....
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
);
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
);
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;))
//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;))