Code : Tout sélectionner
using UnityEngine;
using System.Collections;
using System;
using System.Management;
public class MacTest : MonoBehaviour
{
void Start ()
{
ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'") ;
ManagementObjectCollection queryCollection = query.Get();
foreach( ManagementObject mo in queryCollection )
{
Console.WriteLine("Network Card: {0}", mo["Description"]);
Console.WriteLine("MAC Address: {0}", mo["MACAddress"]);
}
}
}
JP
Edit :
Si c'est pour du Windows standalone, une solution serait de générer un fichier TXT a partir du shell, (ipconfig /all > c:\info.txt) ouvrir ce fichier TXT sous Unity pour extraire l'information
Autre possibilité, via une DLL. La, je suis au boulot. Pas moyen de faire mieux. Désolé
Edit2:
Je suis persuadé que (pour Windows en tout cas) la solution passe par le WMI (Cela permet des trucs incroyables !!):
Un générateur de source de MS : http://www.microsoft.com/downloads/en/d ... laylang=en ( http://blogs.technet.com/b/askperf/arch ... eator.aspx )
Code généré par Générateur :
Code : Tout sélectionner
using System;
using System.Management;
using System.Windows.Forms;
namespace WMISample
{
public class MyWMIQuery
{
public static void Main()
{
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_NetworkAdapterConfiguration");
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("Win32_NetworkAdapterConfiguration instance");
Console.WriteLine("-----------------------------------");
Console.WriteLine("MACAddress: {0}", queryObj["MACAddress"]);
}
}
catch (ManagementException e)
{
MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
}
}
}
}