Depends, what is your network architecture? Everything on a domain and part of Active Directory? If yes then its relatively easy to query AD objects. If you are just talking about a home network or workgroup network, then this is much more difficult as it involves network discovery.
Please update your question with your network architecture and we can post better solutions.
[Edit]
http://www.encodedna.com/2013/04/show-printers-using-wmi.htm[
^]
Retreiving a list of network computer names using C#[
^]
Please realize that network discovery is not very reliable and is very slow. The first link above shows printers that are installed on the local computer, the second uses network discovery. There are certain options you need to turn on in Windows to allow network discovery, and even then sequential runs of the network discovery routine can give differing results.
[/Edit]