首頁 > 後端開發 > C++ > 如何在不同作業系統上使用 C# 可靠地取得機器的 MAC 位址?

如何在不同作業系統上使用 C# 可靠地取得機器的 MAC 位址?

Patricia Arquette
發布: 2025-01-17 01:16:09
原創
806 人瀏覽過

How Can I Reliably Get a Machine's MAC Address in C# Across Different Operating Systems?

跨平台 C# MAC 位址取得:一種穩健的方法

檢索電腦的 MAC 位址對於許多網路相關應用程式至關重要。 然而,在不同的作業系統和語言設定中獲得一致的結果是一個巨大的挑戰。本文提供了一個可靠且高效的 C# 解決方案。

卓越的解決方案

這種改進的方法提高了清晰度和可靠性:

<code class="language-csharp">string macAddress = 
    (
        from nic in NetworkInterface.GetAllNetworkInterfaces()
        where nic.OperationalStatus == OperationalStatus.Up
        select nic.GetPhysicalAddress().ToString()
    ).FirstOrDefault();</code>
登入後複製

此程式碼使用NetworkInterface.GetAllNetworkInterfaces()來取得所有網路介面。它過濾活動接口,不包括環回適配器。然後提取第一個合適介面的 MAC 位址並將其分配給 macAddress.

替代方法

為了獲得更大的靈活性,請考慮以下替代方案:

<code class="language-csharp">string firstMacAddress = NetworkInterface
    .GetAllNetworkInterfaces()
    .Where(nic => nic.OperationalStatus == OperationalStatus.Up && nic.NetworkInterfaceType != NetworkInterfaceType.Loopback)
    .Select(nic => nic.GetPhysicalAddress().ToString())
    .FirstOrDefault();</code>
登入後複製

此方法採用與先前的解決方案相同的過濾,但提供了更具適應性的選擇標準。 例如,您可以根據連線速度或特定連線類型(例如乙太網路)對介面進行優先排序。

部署說明

這些解決方案與 Windows XP、Vista、Windows 7 及更高版本相容,無論系統語言如何。 但是,正確操作可能需要管理權限。 建議使用管理員權限運行應用程式以獲得最佳功能。

以上是如何在不同作業系統上使用 C# 可靠地取得機器的 MAC 位址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板