![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi ActiveX) Get Network Adapter IP and MAC AddressesRetrieves network adapter information, including IP addresses (IPv4 and IPv6) and MAC addresses. Note: This example requires Chilkat v10.1.3 or later.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var socket: TChilkatSocket; json: TChilkatJsonObject; success: Integer; macAddress: WideString; begin socket := TChilkatSocket.Create(Self); json := TChilkatJsonObject.Create(Self); json.EmitCompact := 0; // Note: The GetAdaptersAddresses method was added in Chilkat v10.1.3. success := socket.GetAdaptersAddresses(json.ControlInterface); if (success = 0) then begin Memo1.Lines.Add(socket.LastErrorText); Exit; end; Memo1.Lines.Add(json.Emit()); // Here are some example results for Windows, Linux, and MacOS: // ------------------------------------------------------- // Windows sample output // { // "adapters": [ // { // "name": "Ethernet", // "description": "Intel(R) Ethernet Connection (2) I219-LM", // "mac": "7C-D3-0B-25-DA-1C", // "ipv6": "fe80::1758:bec3:b2b8:7045", // "ipv4": "172.16.16.24" // }, // { // "name": "Ethernet 2", // "description": "VirtualBox Host-Only Ethernet Adapter", // "mac": "0A-00-27-00-00-0B", // "ipv6": "fe80::19e6:8a84:527b:2f0e", // "ipv4": "192.168.56.1" // }, // { // "name": "Bluetooth Network Connection", // "description": "Bluetooth Device (Personal Area Network)", // "mac": "F0-D5-BB-CE-6F-89", // "ipv6": "fe80::d94e:c01e:433e:2049", // "ipv4": "169.254.203.20" // }, // { // "name": "Loopback Pseudo-Interface 1", // "description": "Software Loopback Interface 1", // "mac": "", // "ipv6": "::1", // "ipv4": "127.0.0.1" // } // ] // } // Note: The "description" element is only present when run on Windows. // Here's sample code to get the MAC address for the "Ethernet" adapter macAddress := json.FindRecordString('adapters','name','Ethernet',1,'mac'); if (json.LastMethodSuccess = 0) then begin Memo1.Lines.Add('Failed to find MAC address for the Ethernet adapter'); end else begin Memo1.Lines.Add('MAC address: ' + macAddress); end; // ------------------------------------------------------- // Linux Sample Output: // { // "adapters": [ // { // "name": "lo", // "mac": "", // "ipv4": "127.0.0.1", // "ipv6": "::1" // }, // { // "name": "eth0", // "mac": "50-9A-4C-43-15-56", // "ipv4": "172.16.16.28", // "ipv6": "fe80::529a:4cff:fe43:1556" // } // ] // } // ------------------------------------------------------- // Android: // On Android, accessing the MAC address directly is restricted on modern Android versions (API level 23 and above) due to privacy and security concerns. // Apps targeting Android 6.0 (API level 23) or higher cannot access the MAC address of the device using standard APIs. // If you're developing for modern Android, consider using alternative identifiers (e.g., instance IDs) instead of the MAC address, as recommended by Google. // // Chilkat will not return MAC addresses for Android, regardless of the API level. // Only IP addresses are returned for Android. // ------------------------------------------------------- // MacOS Sample Output: // See Understanding MacOS Network Inteface Names // { // "adapters": [ // { // "name": "lo0", // "mac": "00-00-00-00-00-00", // "ipv4": "127.0.0.1", // "ipv6": "::1", // "ipv6_linkLocal": "fe80::1" // }, // { // "name": "gif0", // "mac": "00-00-00-00-00-00" // }, // { // "name": "stf0", // "mac": "00-00-00-00-00-00" // }, // { // "name": "anpi1", // "mac": "DE-CF-89-6B-85-18" // }, // { // "name": "anpi0", // "mac": "DE-CF-89-6B-85-17" // }, // { // "name": "en0", // "mac": "14-98-77-38-2A-47", // "ipv6": "fe80::1cf4:e6db:6159:a9d5", // "ipv4": "172.16.16.30" // }, // { // "name": "en7", // "mac": "DE-CF-89-6B-85-F7" // }, // { // "name": "en8", // "mac": "DE-CF-89-6B-85-F8" // }, // { // "name": "en2", // "mac": "36-69-36-B0-29-C0" // }, // { // "name": "en3", // "mac": "36-69-36-B0-29-C4" // }, // { // "name": "bridge0", // "mac": "36-69-36-B0-29-C0" // }, // { // "name": "ap1", // "mac": "36-98-77-45-45-EC", // "ipv6": "fe80::3498:77ff:fe45:45ec" // }, // { // "name": "en1", // "mac": "14-98-77-45-45-EC", // "ipv6": "fe80::149b:a396:ca4e:f18d", // "ipv4": "192.168.1.224" // }, // { // "name": "awdl0", // "mac": "DE-4C-F0-5C-17-F9", // "ipv6": "fe80::dc4c:f0ff:fe5c:17f9" // }, // { // "name": "llw0", // "mac": "DE-4C-F0-5C-17-F9", // "ipv6": "fe80::dc4c:f0ff:fe5c:17f9" // }, // { // "name": "utun0", // "mac": "00-00-00-00-00-00", // "ipv6": "fe80::b3b3:cfbe:5790:9573" // }, // { // "name": "utun1", // "mac": "00-00-00-00-00-00", // "ipv6": "fe80::e5:677f:9f70:7ad" // }, // { // "name": "utun2", // "mac": "00-00-00-00-00-00", // "ipv6": "fe80::ce81:b1c:bd2c:69e" // }, // { // "name": "utun3", // "mac": "00-00-00-00-00-00", // "ipv6": "fe80::87e5:c723:bbd:6656" // }, // { // "name": "utun4", // "mac": "00-00-00-00-00-00", // "ipv6": "fe80::cb13:ae1a:9de3:392e" // } // ] // } // end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.