¿Cómo obtener la dirección MAC programáticamente en C# para un dispositivo con Windows Mobile 6.0? System.Net.NetworkInformation no es compatible en net compatc framework 3.5.Cómo obtener la dirección MAC programáticamente en C# para un dispositivo con Windows Mobile 6.0
Respuesta
Este artículo no es una descripción técnica general o una gran discusión. Es como una colección de consejos sobre cómo puede obtener la dirección IP o el nombre de host de una máquina. En la API de Win32 esto podría lograrse utilizando la API de NetWork. Y esto sigue siendo cierto en el marco .NET. La única diferencia es encontrar y comprender qué espacio de nombres y clase usar para lograr esta tarea. En el marco de .NET, la API de NetWork está disponible en el espacio de nombres de System.Net. La clase DNS en el espacio de nombres System.Net se puede usar para obtener el nombre de host de una máquina u obtener la dirección IP si el nombre de host ya se conoce. La clase DNS proporciona una funcionalidad simple de resolución de nombres de dominio. La clase DNS es una clase estática que proporciona acceso a la información del Sistema de nombres de dominio de Internet (DNS). La información devuelta incluye múltiples direcciones IP y alias si el host especificado tiene más de una entrada en la base de datos DNS. La lista se devuelve como una colección o una matriz de objetos IPAddress. La siguiente sección es el código que muestra cómo obtener la dirección IP para un nombre de host determinado.
namespace NKUtilities
{
using System;
using System.Net;
public class DNSUtility
{
public static int Main (string [] args)
{
String strHostName = new String ("");
if (args.Length == 0)
{
// Getting Ip address of local machine...
// First get the host name of local machine.
strHostName = DNS.GetHostName();
Console.WriteLine ("Local Machine's Host Name: " + strHostName);
}
else
{
strHostName = args[0];
}
// Then using host name, get the IP address list..
IPHostEntry ipEntry = DNS.GetHostByName (strHostName);
IPAddress [] addr = ipEntry.AddressList;
for (int i = 0; i < addr.Length; i++)
{
Console.WriteLine ("IP Address {0}: {1} ", i, addr[i].ToString());
}
return 0;
}
}
}
http://www.codeproject.com/Articles/854/How-To-Get-IP-Address-Of-A-Machine
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
//for each j you can get the MAC
PhysicalAddress address = nics[0].GetPhysicalAddress();
byte[] bytes = address.GetAddressBytes();
for (int i = 0; i < bytes.Length; i++)
{
// Display the physical address in hexadecimal.
Console.Write("{0}", bytes[i].ToString("X2"));
// Insert a hyphen after each byte, unless we are at the end of the
// address.
if (i != bytes.Length - 1)
{
Console.Write("-");
}
}
De acuerdo con los documentos, NetworkInterface y PhysicalAddress son compatibles con el marco compacto. – c0D3l0g1c
Según esto: http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterface_members(v=VS.90).aspx, veo que no es compatible con el marco compacto. No estoy seguro a qué documentos se refiere. – Vicky
Podemos utilizar MDSDK en este tipo de problemas como
using PsionTeklogix.Peripherals;
namespace EnumAdapters
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ArrayList pList = null;
string[] lStatistic = null;
try
{
pList = Peripherals.EnumerateAdapters();
}
catch (Exception ex)
{
MessageBox.Show("failed with\r\n" + ex.Message, "EnumerateAdapters()");
Close();
return;
}
listBox1.Items.Clear();
foreach (string AdapterName in pList)
{
try
{
listBox1.Items.Add(AdapterName + (Peripherals.IsAdapterPresent(AdapterName) ? " is present" : " is NOT present") + (Peripherals.IsWirelessAdapter(AdapterName) ? " [wireless adapter] " : ""));
lStatistic = Peripherals.GetAdapterStatistics(AdapterName); // See Note 1
foreach (string StatInfo in lStatistic)
{
if (StatInfo.StartsWith("Local MAC Address"))
{
listBox1.Items.Add("» " + StatInfo);
break;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
Close();
return;
}
}
}
}
}
Esto usa una biblioteca específica del dispositivo y por lo tanto funcionará * solo * con el dispositivo Psion. – ctacke
Sé que ha sido un tiempo, pero necesitaba esto y encontró que podía usar OpenNETCF versión del código anterior con un tweak:
INetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
//for each j you can get the MAC
PhysicalAddress address = nics[0].GetPhysicalAddress();
byte[] bytes = address.GetAddressBytes();
for(int i = 0; i < bytes.Length; i++) {
// Display the physical address in hexadecimal.
Console.Write("{0}", bytes[i].ToString("X2"));
// Insert a hyphen after each byte, unless we are at the end of the address.
if(i != bytes.Length - 1) {
Console.Write("-");
}
}
- 1. cómo obtener la dirección MAC desde Windows-Mobile?
- 2. Cómo obtener mi dirección MAC programáticamente con Ruby
- 3. ¿Cómo obtener la dirección MAC de hardware en Windows
- 4. ¿Cómo puedo obtener programáticamente la dirección MAC Bluetooth de un iPhone?
- 5. ¿Dirección MAC Ethernet como código de activación para un dispositivo?
- 6. ¿Cómo obtener una dirección IP desde la dirección Mac mediante programación en Android?
- 7. Windows Mobile Device Emulator - Crear dispositivo con resolución personalizada
- 8. ¿Cómo obtener la dirección MAC para una interfaz en Linux usando un programa C?
- 9. ¿Cómo obtener programáticamente la ID del dispositivo para AdMob?
- 10. Obtener dirección MAC en la máquina local con Java
- 11. Obteniendo la dirección MAC
- 12. Consumir un dispositivo USB HID en Windows CE 6.0 utilizando C#
- 13. cómo obtener la dirección MAC de un cliente de HttpServlet?
- 14. ¿Cómo desactivo un dispositivo de sistema programáticamente?
- 15. Cómo obtener programáticamente la dirección del montón en Linux
- 16. Mac webcam: obtener el dispositivo
- 17. Cómo agregar la casilla de verificación a la cuadrícula de datos en Windows Mobile 6.0?
- 18. ¿Cómo obtener una dirección MAC estable para PC?
- 19. Método confiable para obtener la dirección MAC de la máquina en C#
- 20. obtener la dirección MAC en las ventanas en Qt
- 21. Windows Mobile Emulator para Linux
- 22. Obtener dirección MAC en Linux usando mono
- 23. ¿Cómo obtener la dirección IPv6 en C#?
- 24. dirección de formato MAC en C#
- 25. Obtener la dirección MAC de dispositivos usando Python
- 26. ¿Cómo obtener nivel de batería en un dispositivo con Windows Phone 8?
- 27. ¿El emulador de dispositivo Android tiene una dirección MAC?
- 28. ¿Cómo obtener la pantalla DPI (linux, mac) programáticamente?
- 29. ¿Cómo obtener la dirección MAC de su máquina usando un programa C?
- 30. Dirección MAC de la interfaz en OS X (C)
ese enlace parece estar muerto. – Sevki
El enlace anterior se refiere a obtener la dirección IP. Necesito la dirección MAC y no la dirección IP. – Vicky