Hola Experto quisiera saber si podría ayudarme a generar una lista de las Maquinas que están conectadas al dominio o grupo de trabajo y sus Nombres. Supongo que podría hacerlo con el WINSOCK pero no se me Ocurre como realziarlo. Espero que me Pueda ayudar! Saludos
Utiliza la función AnetResources() ejemplo: AnetResources(NombreMatriz, NombreGrupo\Dominio, 1) La anterior línea te devuelve en una matriz almacenados los nombres de los equipos que están conectados a una red o dominio.
¿Y cómo la ejecuto? Mi dominio se llama SUIDEA
Mira este Código que encontré en una página, es lo que estuve buscando, el problema es que solo lo logro hacer funcionar poniendo todo dentro de un .PRG y este, me crea el formulario con todos los controles correspondientes. Lo que necesito poder usarlo en un Formulario que ya existe y ensamblar ese código con el que yo tengo. Te muestro el código: PUBLIC goMiForm goMiForm = NEWOBJECT("MiForm") goMiForm.SHOW(1) RETURN DEFINE CLASS MiForm AS FORM HEIGHT = 260 WIDTH = 530 AUTOCENTER = .T. SHOWWINDOW = 2 CAPTION = "Ejemplo de ANETRESOURCES()" ICON = HOME(1) + "\Graphics\Icons\Win95\NetHood.ico" NAME = "frmANet" ADD OBJECT lstcomputadoras AS LISTBOX WITH HEIGHT = 168, LEFT = 16, TOP = 72, WIDTH = 184, NAME = "lstComputadoras" ADD OBJECT lstrecursos AS LISTBOX WITH HEIGHT=72, LEFT = 216 ,TOP = 72 ,WIDTH = 296,NAME = "lstRecursos" ADD OBJECT lstimpresoras AS LISTBOX WITH HEIGHT = 72,LEFT = 216,TOP = 168,WIDTH = 296 ,NAME = "lstImpresoras" ADD OBJECT txtdominio AS TEXTBOX WITH HEIGHT = 24,LEFT = 16,TOP = 24,WIDTH = 184, NAME = "txtDominio" ADD OBJECT lblTit1 AS LABEL WITH NAME = "lblTit1",AUTOSIZE = .T.,FONTBOLD = .T.,BACKSTYLE = 0,CAPTION = "Dominio", HEIGHT = 17,LEFT = 16,TOP = 8,WIDTH = 48 ADD OBJECT lblTit2 AS LABEL WITH NAME = "lblTit2",AUTOSIZE = .T.,FONTBOLD = .T.,BACKSTYLE = 0,CAPTION = "Computadoras",HEIGHT = 17,LEFT = 16,TOP = 56,WIDTH = 86 ADD OBJECT lblTit3 AS LABEL WITH NAME = "lblTit3", AUTOSIZE = .T.,FONTBOLD = .T.,BACKSTYLE = 0,CAPTION = "Recursos compartidos",HEIGHT = 17,LEFT = 216,TOP = 56,WIDTH = 132 ADD OBJECT lblTit4 AS LABEL WITH NAME = "lblTit4",AUTOSIZE = .T., FONTBOLD = .T., BACKSTYLE = 0,CAPTION = "Impresoras compartidas",HEIGHT = 17,LEFT = 216,TOP = 152 ,WIDTH = 143 ADD OBJECT cmdCargarDominio AS COMMANDBUTTON WITH TOP = 24,LEFT = 216,HEIGHT = 24,WIDTH = 136 ,CAPTION = "Cargar dominio",NAME = "cmdCargarDominio" *-- PROCEDURE CargarRecursos LPARAMETERS tcComputadora LOCAL ln *-- Lista de recursos compartidos WITH thisform.lstRecursos .CLEAR FOR ln = 1 TO ANETRESOURCES(la,tcComputadora,1) .ADDITEM("\" + la(ln),ln,1) endfor .picture = HOME(1) + "\Graphics\Bitmaps\Outline\Nomask\OpenFold.bmp" endwith *-- Lista de impresoras de red with thisform.lstImpresoras .clear for ln = 1 to ANETRESOURCES(la,tcComputadora,2) .additem("\" + la(ln),ln,1) endfor .picture = home(1) + "\Graphics\Bitmaps\Outline\Nomask\PrintFld.bmp" endwith endproc *-- procedure CargarComputadoras LPARAMETERS tcDominio local ln *-- Lista de computadoras del dominio o grupo de trabajo with thisform.lstComputadoras .clear for ln = 1 TO ANETRESOURCES(la,tcDominio,0) .ADDITEM("\" + la(ln),ln,1) endfor .picture = home(1) +"\Graphics\Bitmaps\Outline\Nomask\MyComp.bmp" .listindex = 1 endwith endproc *-- procedure init local lcDominio, lcComputadora *-- Toma el dominio actual lcDominio = GETENV("USERDOMAIN") thisform.txtDominio.VALUE = lcDominio thisform.CargarComputadoras(lcDominio) lcComputadora = THISFORM.lstComputadoras.VALUE thisform.CargarRecursos(lcComputadora) ENDPROC *-- PROCEDURE lstComputadoras.INTERACTIVECHANGE LOCAL lcComputadora wait window nowait "Trabajando ..." lcComputadora = THIS.VALUE thisform.CargarRecursos(lcComputadora) wait clear endproc *-- procedure cmdCargarDominio.CLICK local lcDominio wait window nowait "Trabajando ..." lcDominio = ALLTRIM(THISFORM.txtDominio.VALUE) thisform.CargarComputadoras(lcDominio) lcComputadora = THISFORM.lstComputadoras.VALUE thisform.CargarRecursos(lcComputadora) wait clear endproc enddefine Bueno Espero que me Pueda Ayudar por Favor! Saludos
Más fácil ¡Imposible!, lo que está escrito como se muestra a continuación: HEIGHT = 260 WIDTH = 530 AUTOCENTER = .T. Eso no son más que propiedades las cuales están en formulario, abres el formulario en modo de diseño y buscas las propiedades correspondientes en la ventana propiedades(Height = 260: Buscas la propiedad Height del formulario y le asignas el valor 260 y si no la encuentras seleccionas en el menú formulario Nueva propiedad, escribes el nombre de la propiedad y haces clic en añadir) lo que en cuentras como procedure ejemplo: Procedure init Código Endproc No es más que un evento correspondiente al evento init del formulario todo lo que tienes que hacer es pegar en dicho evento el código que está entre la línea Procedure NombreProc y EndProc y listo; y si no lo encuentras seleccionas en el menú formulario Nueva método, escribes el nombre del evento y haces clic en añadir, y finalmente pegas el código del método correspondiente. Las líneas AddObject son los controles correspondientes que tienes que agregar al formulario. Eso es todo lo que tienes que hacer.
- Anónimoahora mismo
Respuesta de ingesoft
1
1
ingesoft, Ing. en Sistemas ,Manejo de base de datos Diseño y elaboración de...