如何抓取網路介面卡和位置資訊 (HTML)
[ 本文的目標對象是撰寫 Windows 執行階段 App 的 Windows 8.x 和 Windows Phone 8.x 開發人員。如果您正在開發適用於 Windows 10 的 App,請參閱 最新文件 ]
這個主題示範如何抓取網路上與介面卡關聯的 LanIdentifier 物件,並使用 Windows.Networking.Connectivity 命名空間中的類別存取可用以判斷網路基礎結構相對位置的資訊。
LanIdentifier 物件會定義應用程式用來抓取基礎結構/連接埠識別碼以判斷位置的方法,並且會定義與網路介面卡關聯的識別碼值。這個識別碼的表示方法為 ConnectionProfile 屬性,以顯示其與網路連線的關聯性。
您必須知道的事
技術
先決條件
下列範例使用 JavaScript,並且使用網路資訊範例做為依據。 如需使用 JavaScript 建立 Windows 執行階段應用程式的一般協助,請參閱使用 JavaScript 建立您的第一個 Windows 執行階段應用程式。
抓取所有 LanIdentifier 物件
我們的第一個範例函式會呼叫 NetworkInformation.getLanIdentifiers 方法來抓取 LanIdentifier 物件的陣列。
var networkInfo = Windows.Networking.Connectivity.NetworkInformation;
function DisplayLanIdentifiers() {
var lanIdentifier = "";
try {
var lanIdentifiers = networkInfo.getLanIdentifiers();
if (lanIdentifiers.length !== 0) {
lanIdentifier += "Number of LAN Identifiers retrieved: " + lanIdentifiers.length + "\n\r";
lanIdentifier += "=============================================\n\r";
for (var i = 0; i < lanIdentifiers.length; i++) {
//Display Lan Identifier data for each identifier
lanIdentifier += getLanIdentifierData(lanIdentifiers[i]);
lanIdentifier += "----------------------------------------------------------------\n\r";
}
mySample.displayStatus(lanIdentifier);
}
else {
mySample.displayStatus("No LAN identifier data found");
}
}
catch (e) {
mySample.displayError("Exception Caught: " + e + "\n\r");
}
}
顯示 LanIdentifier 物件的屬性
然後我們會將上一個步驟傳回的 LanIdentifier 物件傳遞給下列範例函式,以顯示特定的基礎結構識別碼、連接埠識別碼以及網路介面卡識別碼值。
var networkInfo = Windows.Networking.Connectivity.NetworkInformation;
function getLanIdentifierData(lanIdentifier) {
var lanIdentifierData = "";
var i = 0;
try {
if (lanIdentifier === null) {
return "";
}
if (lanIdentifier.infrastructureId !== null) {
lanIdentifierData += "Infrastructure Type: " + lanIdentifier.infrastructureId.type + "\n\r";
lanIdentifierData += "Infrastructure Value: [";
for (i = 0; i < lanIdentifier.infrastructureId.value.length; i++) {
//Display the Infrastructure value array
lanIdentifierData += lanIdentifier.infrastructureId.value[i].toString(16) + " ";
}
lanIdentifierData += "]\n\r";
}
if (lanIdentifier.portId !== null) {
lanIdentifierData += "Port Type : " + lanIdentifier.portId.type + "\n\r";
lanIdentifierData += "Port Value: [";
for (i = 0; i < lanIdentifier.portId.value.length; i++) {
//Display the PortId value array
lanIdentifierData += lanIdentifier.portId.value[i].toString(16) + " ";
}
lanIdentifierData += "]\n\r";
}
if (lanIdentifier.networkAdapterId !== null) {
lanIdentifierData += "Network Adapter Id : " + lanIdentifier.networkAdapterId + "\n\r";
}
}
catch (e) {
mySample.displayError("Exception Caught: " + e + "\n\r");
}
return lanIdentifierData;
}
相關主題
其他
使用 JavaScript 建立您的第一個 Windows 執行階段應用程式
參考
NetworkInformation.getLanIdentifiers
範例