Cita:
Empezado por raxsys
(1) Necesito hacer un programa que en primer lugar me liste todos los equipos conectados a mi red.
(2) En cada equipo estaría instalado mi programa
(3) desde la lista poder enviar entre ellos no solo texto (como en chat), sino también imagenes, el contenido de un treeview, o tal vez intercambiar archivos.
|
Buenas.
El (1) no es problema, es sencillo. Puedes mirar trucos 319, 272 de trucomanía, tal vez te sirvan. O tb puedes probar ésta rutina:
Código Delphi
[-]
var
Computer : Array[1..500] of String[25];
ComputerCount : Integer;
procedure FindAllComputers(Workgroup : String);
Var
EnumHandle : THandle;
WorkgroupRS : TNetResource;
Buf : Array[1..500] of TNetResource;
BufSize : Cardinal;
Entries : Cardinal;
Result : Integer;
begin
ComputerCount := 0;
Workgroup := Workgroup + #0;
FillChar(WorkgroupRS, SizeOf(WorkgroupRS) , 0);
With WorkgroupRS do begin
dwScope := 2;
dwType := 3;
dwDisplayType := 1;
dwUsage := 2;
lpRemoteName := @Workgroup[1];
end;
WNetOpenEnum( RESOURCE_GLOBALNET,
RESOURCETYPE_ANY,
0,
@WorkgroupRS,
EnumHandle );
Repeat
Entries := 1;
BufSize := SizeOf(Buf);
Result :=
WNetEnumResource( EnumHandle,
Entries,
@Buf,
BufSize );
If (Result = NO_ERROR) and (Entries = 1) then begin
Inc( ComputerCount );
Computer[ ComputerCount ] := StrPas(Buf[1].lpRemoteName);
end;
Until (Entries <> 1) or (Result <> NO_ERROR);
WNetCloseEnum( EnumHandle );
end;
El (2) tampoco, sólo necesitas haber acabado ya el programa.
Yo empezaría por el (3); Me parece que vas a tener que utilizar Sockets; Puedes empezar a mirar las Indy, creo que por ahí anda una demo de un Chat, míratelo, creo que es un buen punto de partida, a partir de ah´se trata de ampliarlo a tus necesidades.