Quisiera automatizar una aplicación para que al iniciar detecte cuantas pc's hay conectadas en red local y el nombre de las mismas.
Estuve intentando con el testnet.prg de los samples y hay una función que edita las pc de la red local pero abriendo un dialog que permite seleccionar la/s pc a desconectar de red. Esta función es la WNetDisconnectDialog() y muestra algo así:
Mi consulta es: ¿existe alguna función que me devuelva los nombres y los path de las pc que integran una red, mostrados tal como lo hace la función WNetDisconnectDialog() pero que puedan pasarse a un array?
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
local oLoc := CreateObject ("wbemScripting.SwbemLocator") local oWMI := oLoc:ConnectServer() local aPCs := oWMI:ExecQuery("Select * FROM Win32_NetworkLoginProfile") local oPC
MsgInfo( Len( aPCS ))
for each oPC in aPCs MsgInfo( oPC:Caption) next
returnnil
Mira toda la información que hay disponible para cada oPC:
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Desde Windows 7,8 a XP no hay como verlos en la red.
Como se soluciona.. con simples chorrocientos pasos.
Copiado de una web -Los usuarios deben tener contraseña y no pueden dejarse en blanco, ademas:
-Debes tener activado "Compartir Archivos e Impresoras" en XP:
Inicio - Panel de Control - Firewall de Windows - Excepciones - Marca "Compartir Archivos e Impresoras"
Inicio - Panel de Control - Conexiones de Red - Boton derecho del raton sobre la conexion en cuestion - Propiedades - Marca "Compartir Impresoras y Archivos para redes Microsoft"
-Todos los usuarios deben logearse con nombre y contraseña en sus respectivos equipos al iniciar sesion
-Debes dar de alta en Windows XP al usuario de Windows 7 con el mismo nombre y contraseña que dicho usuario tienes en Windwos 7.
-Da de alta en Windows 7 al usuario de Windows XP con el mismo nombre y contraseña que dicho usuario tienes en Windwos XP.
-El grupo de trabajo debe llamarse igual en los equipos de la red
-La direcccion IP tienen que pertenecer al mismo rango
-La mascara debe ser la misma
-Ningun usuario puede denominarse igual que un equipo de la red
-Debes desmarcar la opcion de "uso compartido simple de archivos" tanto en Windows XP como en Windows 7.
En Windows XP Pro:
-Debes desmarcar la opcion (version Pro de XP) de "uso compartido simple de archivos":
(Panel de control, Opciones de carpeta, pestaña Ver, y desmarcar la casilla correspondiente "Utilizar uso compartido simple de archivos (recomendado)")
Para la version Home, podras acceder a dicha pantalla entrando en modo seguro.
En Windows 7:
Panel de Control - Iconos Grandes - Centro de Redes y Recursos compartidos - Cambiar configuracion de uso compartido avanzado - Solo comprobar, debe estar activado por defecto
No los he probado ,pero se los pase a un colega y segun su respuestas ,"le sirvio"
Ji,ji,ji... buena la cosa... "all you need is code"
http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650
function Main() LOCAL oAdoCommand,oAdoConnection,oRs,aPcs:={},cPcs:=""
oAdoCommand:=CreateObject("ADODB.Command") oAdoConnection:=CreateObject("ADODB.Connection") oAdoConnection:Provider:="ADsDSOObject" oAdoConnection:Open("Active Directory Provider") oAdoCommand:ActiveConnection:=oAdoConnection oAdoCommand:CommandText:="Select name from 'LDAP://LOSTAJIBOSHOTEL' Where objectCategory='computer'"//LOSTAJIBOSHOTEL el nombre del GRUPO/DOMINIO oRs:=oAdoCommand:Execute() oRs:MoveFirst() DOWHILE !oRs:Eof() xPC:=Alltrim(oRs:Fields("Name"):Value) aAdd(aPcs,xPC) cPcs+=xPC+CRLF oRs:MoveNext() ENDDO ?cPcs