1. Con una cuenta podrás:

    • Publicar preguntas y pedir ayuda
    • Crear tutoriales
    • Acceder a contenido privado
    • Convertirte en un Héroe de la web
    Cerrar notificación
  2. Eres nuevo en la comunidad y necesitas ayuda?
    Sigue estos pasos y recomendaciones antes de publicar tu duda:
    Cerrar notificación

Tutorial C# Windows Forms Visualizar las PCs de tu red

Tema en 'C / C++' comenzado por TheMatrixNeo1987, 15 de Enero de 2015.

  1. TheMatrixNeo1987

    TheMatrixNeo1987 Nuevo Miembro

    Se incorporó:
    13 de Enero de 2015
    Mensajes:
    22
    Me gusta recibidos:
    9
    Puntos de trofeos:
    3
    Género:
    Hombre
    Ocupación:
    Desarrollador en .NET
    Localización:
    Aguacalientes, Mexico
    Página web:
    PCs.png Hola a todos aqui con otro tutorial, de como poder ver las computadoras q estan conectadas a tu red debo decir q me costo mucho encontrar el codigo porque todos los tutoriales q me encontraba venian en VB

    Aqui esta la clase ListNetworkComputers

    Código (Text):
    using System;
    using System.Runtime.InteropServices;
    using System.Security;
    using System.Collections;
    using System.Windows.Forms;

    namespace ListNetworkComputers
    {
        public sealed class NetworkBrowser
        {
            public NetworkBrowser()
            {
            }

            #region Dll Imports
            [DllImport("Netapi32", CharSet = CharSet.Auto, SetLastError = true), SuppressUnmanagedCodeSecurityAttribute]
            public static extern int NetServerEnum(
                string ServerNane,
                int dwLevel,
                ref IntPtr pBuf,
                int dwPrefMaxLen,
                out int dwEntriesRead,
                out int dwTotalEntries,
                int dwServerType,
                string domain,
                out int dwResumeHandle
                );
            [DllImport("Netapi32", SetLastError = true), SuppressUnmanagedCodeSecurityAttribute]
            public static extern int NetApiBufferFree(
                IntPtr pBuf);
            [StructLayout(LayoutKind.Sequential)]
            public struct _SERVER_INFO_100
            {
                internal int sv100_platform_id;
                [MarshalAs(UnmanagedType.LPWStr)]
                internal string sv100_name;
            }
            #endregion

            #region Public Methods
            public ArrayList getNetworkComputers()
            {
                ArrayList networkComputers = new ArrayList();
                const int MAX_PREFERRED_LENGTH = -1;
                int SV_TYPE_WORKSTATION = 1;
                int SV_TYPE_SERVER = 2;
                IntPtr buffer = IntPtr.Zero;
                IntPtr tmpBuffer = IntPtr.Zero;
                int entriesRead = 0;
                int totalEntries = 0;
                int resHandle = 0;
                int sizeofINFO = Marshal.SizeOf(typeof(_SERVER_INFO_100));
                try
                {

                    int ret = NetServerEnum(null, 100, ref buffer, MAX_PREFERRED_LENGTH, out entriesRead, out totalEntries, SV_TYPE_WORKSTATION | SV_TYPE_SERVER, null, out resHandle);
                    if (ret == 0)
                    {
                        for (int i = 0; i < totalEntries; i++)
                        {
                            tmpBuffer = new IntPtr((int)buffer + (i * sizeofINFO));

                            _SERVER_INFO_100 svrInfo = (_SERVER_INFO_100)
                                Marshal.PtrToStructure(tmpBuffer, typeof(_SERVER_INFO_100));
                            networkComputers.Add(svrInfo.sv100_name);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Problem with acessing network computers in NetworkBrowser " +
                        "\r\n\r\n\r\n" + ex.Message,
                        "Error", MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
                    return null;
                }
                finally
                {
                    NetApiBufferFree(buffer);
                }
                return networkComputers;
            }
            #endregion
        }
    }

    Y aqui el del formulario:


    [CODE]private void Form1_Load(object sender, EventArgs e)
            {
                comboBox1.Items.Clear();
                ListNetworkComputers.NetworkBrowser nb = new ListNetworkComputers.NetworkBrowser();
                foreach (object pc in nb.getNetworkComputers())
                {
                    comboBox1.Items.Add(pc);
                    comboBox1.SelectedIndex = 0;[SPOILER][SPOILER][/SPOILER][/SPOILER]
                }
    }[SPOILER="Demostracion"][/SPOILER]
    Aqui la demostracion:

    [IMG]https://www.facebook.com/1471129056485347/photos/a.1529368280661424.1073741828.1471129056485347/1529368223994763/?type=1&theater[/IMG]

    NOTA: Tiene q estar conectado a internet para q funcione
     
    Última modificación: 27 de Enero de 2015
  2. griselcesar

    griselcesar Miembro Activo

    Se incorporó:
    8 de Enero de 2015
    Mensajes:
    135
    Me gusta recibidos:
    61
    Puntos de trofeos:
    28
    Género:
    Hombre
    Ocupación:
    Estudiante
    Localización:
    Venezuela
    Página web:
    Interesante... Lastima que no use Win2...
     
    A Tigre Grisel le gusta esto.
  3. Tigre Grisel

    Tigre Grisel Nuevo Miembro

    Se incorporó:
    15 de Enero de 2015
    Mensajes:
    11
    Me gusta recibidos:
    7
    Puntos de trofeos:
    3
    Género:
    Hombre
    Yo tampoco lo uso...
     
  4. TheMatrixNeo1987

    TheMatrixNeo1987 Nuevo Miembro

    Se incorporó:
    13 de Enero de 2015
    Mensajes:
    22
    Me gusta recibidos:
    9
    Puntos de trofeos:
    3
    Género:
    Hombre
    Ocupación:
    Desarrollador en .NET
    Localización:
    Aguacalientes, Mexico
    Página web:
    entonces q usan???
     
  5. Tigre Grisel

    Tigre Grisel Nuevo Miembro

    Se incorporó:
    15 de Enero de 2015
    Mensajes:
    11
    Me gusta recibidos:
    7
    Puntos de trofeos:
    3
    Género:
    Hombre
    Yo uso GNU/Linux Ubuntu
     
  6. joakingh

    joakingh Nuevo Miembro

    Se incorporó:
    9 de Enero de 2015
    Mensajes:
    25
    Me gusta recibidos:
    12
    Puntos de trofeos:
    3
    Género:
    Hombre
    Ocupación:
    Estudiante
    Localización:
    Argentina
    Te recomiendo poner el código como código, no esta puesta por defecto la sintaxis de C pero puedes poner PHP que tiene un sintaxis similar
     

Comparte esta página