Форум: "Сети";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];
ВнизКомпы в сети Найти похожие ветки
← →
Dstr © (2006-05-14 21:14) [0]Подскажите,как у знать все компы в сети(или хотябы в рабочей группе),у меня есть несколько способов(Пока все были все нерабочие)WNetEnumResource возвращает ошибку.
← →
MetalFan © (2006-05-15 13:27) [1]http://delphimaster.net/view/6-1147666748/
и какую же ошибку он тебе возвращает? пример неработающего кода?
← →
Dstr © (2006-05-15 16:48) [2]unit FindComp;
interface
uses
Windows, Classes;
function FindComputers: DWORD;
var
Computers: TStringList;
implementation
uses
SysUtils;
const
MaxEntries = 250;
function FindComputers: DWORD;
var
EnumWorkGroupHandle, EnumComputerHandle: THandle;
EnumError: DWORD;
Network: TNetResource;
WorkGroupEntries, ComputerEntries: DWORD;
EnumWorkGroupBuffer, EnumComputerBuffer: array[1..MaxEntries] of TNetResource;
EnumBufferLength: DWORD;
I, J: DWORD;
begin
Computers.Clear;
FillChar(Network, SizeOf(Network), 0);
with Network do
begin
dwScope := RESOURCE_GLOBALNET;
dwType := RESOURCETYPE_ANY;
dwUsage := RESOURCEUSAGE_CONTAINER;
end;
EnumError := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, @Network,
EnumWorkGroupHandle);
if EnumError = NO_ERROR then
begin
WorkGroupEntries := MaxEntries;
EnumBufferLength := SizeOf(EnumWorkGroupBuffer);
EnumError := WNetEnumResource(EnumWorkGroupHandle, WorkGroupEntries,
@EnumWorkGroupBuffer, EnumBufferLength);
if EnumError = NO_ERROR then
begin
for I := 1 to WorkGroupEntries do
begin
EnumError := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0,
@EnumWorkGroupBuffer[I], EnumComputerHandle);
if EnumError = NO_ERROR then
begin
ComputerEntries := MaxEntries;
EnumBufferLength := SizeOf(EnumComputerBuffer);
EnumError := WNetEnumResource(EnumComputerHandle, ComputerEntries,
@EnumComputerBuffer, EnumBufferLength);
if EnumError = NO_ERROR then //а сдесь собственно ошибка, вроде 59
for J := 1 to ComputerEntries do
Computers.Add(Copy(EnumComputerBuffer[J].lpRemoteName, 3,
Length(EnumComputerBuffer[J].lpRemoteName) - 2));
WNetCloseEnum(EnumComputerHandle);
end;
end;
end;
WNetCloseEnum(EnumWorkGroupHandle);
end;
if EnumError = ERROR_NO_MORE_ITEMS then
EnumError := NO_ERROR;
Result := EnumError;
end;
initialization
Computers := TStringList.Create;
finalization
Computers.Free;
end.
← →
Dstr © (2006-05-15 16:53) [3]Слушайте,мне собственно надо послать шировещательную рассылку,но я пользуюсь ИндиUDP и если в Хост я напишу 255.255.255.255,то вылезает ошибка,если оставлю пустым,мессага приходит только мне.
Я написал алгоритм посылки мессаги из TStringList мне остается токо его напичкать IP шниками,дайте совет пожалуйста,чего мне делать?
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c