在跨 Windows、macOS 和 Linux 的 Java 中確定電腦的唯一識別碼是一個挑戰。以下是實現此目的的幾種方法:
檢索網路介面的 MAC 位址是一種常見方法。然而,在具有多個適配器的系統中,選擇正確的 MAC 位址可能很困難。此外,將筆記型電腦連接到不同的網路介面卡(例如,Wi-Fi 到乙太網路)可能會使先前儲存的 MAC 位址無效。
此方法涉及使用 WMI 查詢系統的序號。它需要使用 com4j 函式庫來與 WMI 互動。範例:
<code class="java">ISWbemLocator wbemLocator = ClassFactory.createSWbemLocator(); ISWbemServices wbemServices = wbemLocator.connectServer(...); ISWbemObjectSet result = wbemServices.execQuery("Select * from Win32_SystemEnclosure"); for(Com4jObject obj : result) { ISWbemObject wo = obj.queryInterface(ISWbemObject.class); System.out.println(wo.getObjectText_(0)); }</code>
對於Linux 和Mac OS,可以執行lshw、system-profiler SPHardwareDataType 或ip link 等系統指令來擷取硬體訊息,包括序號。
總之,在 Java 中取得唯一的電腦識別碼在不同平台上都面臨著挑戰。所選的方法取決於作業系統的特定要求和限制。提供的程式碼片段和建議可以作為進一步探索的起點。
以上是如何在 Java 中取得唯一的電腦識別碼:跨平台指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!