Click here to Skip to main content
Click here to Skip to main content

LAN Messenger

By , 19 Aug 2004
Rate this:
Please Sign up or sign in to vote.

Sample Image - MyLanApp.jpg

Introduction

This is a tool which is created using the Active Directory objects in VB.NET. Using this tool, we can communicate with the computers across the network.

Once the form is loaded, it will bring out all the computer names in a TreeView control. If you click on any computer name from the tree view, it will display the selected item in the right top textbox; it will show the computer name and also the IP address details below.

We have to type the message that we want to send, in the Message to Send box, and if you press the Send button, it will send the message to the selected computer.

In the same way, if we want to send messages to all the computers, if we press the Send to All button, it will send the message to all the computers; we also have a provision to ‘ping’ the selected node.

For sending messages to another computer, we have a ‘Net Send’ command; it is a DOS command. To run any executable program, we have a ‘Shell’ command.

Shell("net send " & txtcomputer.Text & " " & txtmessage.Text)

The above line is a part of the code which will send a message to a specified computer.

To Ping the another node, the following is the command:

Shell("PING " & TextBox1.Text)

In the ‘TextBox1’ we will have the IP address of the selected computer.

To get the IP Address of the computer using the tool, we have a generic function called “GetIPAddress”.

Function GetIPAddress(ByVal CompName As String) As String
Dim oAddr As System.Net.IPAddress
Dim sAddr As String
  Try
    With System.Net.Dns.GetHostByName(CompName)
oAddr = New System.Net.IPAddress(.AddressList(0).Address)
sAddr = oAddr.ToString
          End With
          GetIPAddress = sAddr
  Catch Excep As Exception
    MsgBox(Excep.Message, MsgBoxStyle.OKOnly, "Lan Messenger")
  Finally
  
  End Try
End Function

System.Net.Dns.GetHostByName

Gets the DNS information for a specified DNS host name. Only we have to pass the ‘hostname’. Returns the host information for the address specified in hostName.

System.Net.IPAddress

Provides an Internet Protocol (IP) address. The following is the code to list the computers in the network:

  Dim childEntry As DirectoryEntry
  Dim ParentEntry As New DirectoryEntry()
  Try
    ParentEntry.Path = "WinNT:"
    For Each childEntry In ParentEntry.Children
        Dim newNode As New TreeNode(childEntry.Name)
        Select Case childEntry.SchemaClassName
               Case "Domain"
               Dim ParentDomain As New TreeNode(childEntry.Name)
               TreeView1.Nodes.AddRange(New TreeNode() {ParentDomain})
               Dim SubChildEntry As DirectoryEntry
               Dim SubParentEntry As New DirectoryEntry()
               SubParentEntry.Path = "WinNT://" & childEntry.Name
               For Each SubChildEntry In SubParentEntry.Children
                   Dim newNode1 As New TreeNode(SubChildEntry.Name)
                   Select Case SubChildEntry.SchemaClassName
                          Case "Computer"
                                ParentDomain.Nodes.Add(newNode1)
                   End Select
                Next
        End Select
    Next
    Catch Excep As Exception
          MsgBox("Error While Reading Directories")
    Finally
         ParentEntry = Nothing
  End Try

System.DirectoryServices

The .NET Framework System.DirectoryServices namespace is a robust and flexible API for querying and manipulating objects in Microsoft's Active Directory.

Active Directory is Microsoft's network operating system (NOS) directory, built on top of Windows 2000 and Windows Server 2003. It enables administrators to manage enterprise-wide information efficiently from a central repository that can be globally distributed.

The two main classes within System.DirectoryServices are DirectoryEntry and DirectorySearcher. The DirectoryEntry class represents an object in the directory, and can be used to create new objects and manage existing ones.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

kennedy_franklin
Web Developer
Kuwait Kuwait
I am J. Franklin Kennedy, Working as a programmer in application software developement.
 

Comments and Discussions

 
QuestionGreat Start Pinmemberfuqueue8418-Jul-12 5:04 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web01 | 2.8.140415.2 | Last Updated 20 Aug 2004
Article Copyright 2004 by kennedy_franklin
Everything else Copyright © CodeProject, 1999-2014
Terms of Use
Layout: fixed | fluid