本人所使用的开发环境是VS2008,开发的系统所在移动终端版本为windows mobile 5.0。由于需要进行身份的验证,需要获取移动终端的MAC地址,于是在网上进行搜索,主要看到了三种方法来实现获取MAC地址,现记录如下。
第一种方法:使用ManagementClass 来获取。
殊不知,WinCE下并没有System.Management,这种方法根本行不通。
第二种方法:通过查找注册表来获取MAC地址。
这是获取注册表地址的代码:
复制代码 代码如下:
txtMAC1.Text = reg.ReadValue(YFReg.HKEY.HKEY_LOCAL_MACHINE, @"Comm\DM9CE1\Parms", "SoftwareMacAddress0");
其他的代码我这里就不列出来了,用这种方法我并没有获取到MAC地址。于是在网上下载了一个注册表查看工具,在移动终端中找,找遍了,发现并没有Comm\DM9CE1\Parms路径,再找其他的路径,都没找到有SoftwareMacAddress节点的。好吧,可能这种方法能获取MAC地址,但是我这个版本的不行。
第三种方法:通过SendARP获取MAC地址。
代码如下:
复制代码 代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.IO;
using System.Security.Cryptography;
using System.Net;
namespace WirelessRouteSystem
{
class SysInfo
{
private static string[] strEncrypt = new string[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "AN", "AO", "AP" };
private static Int32 METHOD_BUFFERED = 0;
private static Int32 FILE_ANY_ACCESS = 0;
private static Int32 FILE_DEVICE_HAL = 0x00000101;
private const Int32 ERROR_NOT_SUPPORTED = 0x32;
private const Int32 ERROR_INSUFFICIENT_BUFFER = 0x7A;
private static Int32 IOCTL_HAL_GET_DEVICEID = ((FILE_DEVICE_HAL) << 16) | ((FILE_ANY_ACCESS) << 14) | ((21) << 2) | (METHOD_BUFFERED);
[DllImport("coredll.dll", SetLastError = true)]
private static extern bool KernelIoControl(Int32 dwIoControlCode, IntPtr lpInBuf, Int32 nInBufSize, byte[] lpOutBuf, Int32 nOutBufSize, ref Int32 lpBytesReturned);
[DllImport("Iphlpapi.dll", EntryPoint = "SendARP")]
public static extern uint SendARP(uint DestIP, uint SrcIP, byte[] pMacAddr, ref uint PhyAddrLen);
/// <summary>
/// 获取MAC地址
/// </summary>
/// <returns></returns>
public string GetMac()
{
uint ip = 0;
string mac = string.Empty;
//取本机IP列表
IPAddress[] ips = Dns.GetHostEntry(Dns.GetHostName()).AddressList;
//取本机IP
byte[] ipp = ips[1].GetAddressBytes();
ip = (uint)((ipp[0]) | (ipp[1] << 8) | (ipp[2] << 16) | (ipp[3] << 24));
//取MAC
byte[] MacAddr = new byte[6];
uint PhyAddrLen = 6;
uint hr = SendARP(ip, 0, MacAddr, ref PhyAddrLen);
if (MacAddr[0] != 0 || MacAddr[1] != 0 || MacAddr[2] != 0 || MacAddr[3] != 0 || MacAddr[4] != 0 || MacAddr[5] != 0)
{
mac = MacAddr[0].ToString("X2") + ":" + MacAddr[1].ToString("X2") + ":" + MacAddr[2].ToString("X2") + ":" + MacAddr[3].ToString("X2") + ":" + MacAddr[4].ToString("X2") + ":" + MacAddr[5].ToString("X2");
}
return mac;
}
/// <summary>
///获取本机IP
/// </summary>
/// <returns></returns>
public string GetIpAddress()
{
string strHostName = Dns.GetHostName(); //得到本机的主机名
IPHostEntry ipEntry = Dns.GetHostByName(strHostName); //取得本机IP
string strAddr = ipEntry.AddressList[1].ToString();
return strAddr;
}
}
}
通过 IP Helper API 中的 SendARP 发送 ARP 请求可以用来获取指定IP地址的MAC 地址,简单方便,缺点是不能跨越网关。
至于获取IP地址,本文已经给出了两种方法,都是通过NET下DNS类中方法获取。
相关推荐:
AI免费生成文字,打造创作新时代
ChatGPT目前,我无法查看或打开附件,但我依然能为你提供全面的帮助,苹果ai谷歌ai
SEO主要是为网站引流吗?深入解析SEO的核心价值,AI算算
ChatGPT3.5最新版:智能对话新纪元,带你进入AI的未来世界,ai苔藓生长
SEO包含的秘密:让你的网站轻松排上首页,新媒体营销推广方案目录
SEO发明:引领数字时代营销革命的力量,速卖通外贸推广网站
SEO出超:如何通过精准优化实现网站流量大爆发,营销推广方式联系f火15星
SEO王:掌控搜索引擎优化的至高法则,助力企业飞速腾飞,网站动作优化在哪里下载
GPT-3模型下载:开启智能时代的无限可能,ai走入
为什么做抖音seo,为什么做抖音推广 ,描边ai虚线
ChatGPT遇到问题?如何解决“您的应用遇到问题,无法正常启动”困境?,ai下载增强版
SEO站在未来之巅,助力网站在激烈竞争中脱颖而出,推荐网站优化欢迎咨询
亚马逊中什么是seo,亚马逊sop ,ai临摹中国名画
如何查文章AI率?全面解析AI文章检测工具及技巧
SEO怎么优化比较好?全面提升网站排名的实用技巧,高级ai玩家
未来写作新模式文章撰写AI如何助力内容创作
SEO导航:助力网站提升流量与排名的必备工具,荣昌建筑网站建设
ChatGPT美区要梯子吗?轻松畅享全球智能聊天体验,ai音位
AI免费生成文章的软件:轻松创作的秘密武器
ChatGPT打不开实时问题解决方案:让你的AI助手始终在线,psd 转ai
ChatGPT破解:让AI打破语言与思维的边界,ai模板vis
怎么看文章是不是AI生成的?揭秘背后的玄机与技巧
智能AI写文章:高效创作新风尚
SEO手段:提升网站流量的制胜法宝,idc网站怎么推广
SEO就是:让你的品牌脱颖而出,获得更多曝光与流量,梅岭关键词排名优化
seo网站是什么东西,seo网站是什么东西啊 ,ai锯齿消失
ChatGPT已识别但不可用?揭秘背后原因与解决方案!,小狸ai和斑马ai语文
SEO详解:如何优化你的网站提升排名,获得更多流量,伊春湖南网站优化推广
OpenAI注册问题解决方案:如何顺利通过手机号验证,反对ai头像
ChatGPTO1免费:突破智能聊天的极限,体验AI无限可能,糯米ai唱歌
seo要学会什么,seo要学多长时间 ,NTU AI 录取
Bing搜索的注意事项-提高搜索效率与准确性,轻松获取所需信息,最近ai写作软件推荐
SEO地位:如何提升你的网站排名与曝光度,抢占市场先机,微营销网络推广
SEO广告:如何借助SEO提升品牌曝光与销售业绩?,网站推广怎么选择
企业营销:如何在竞争激烈的市场中脱颖而出,美装网站Seo优化
ChatGPT:智能对话开创新时代,ai做渐变直线
为什么要年前做SEO,企业为什么做seo推广 ,云南ai大数据公司
AI文章比对技术:引领写作与内容审核的新革命,ai智能写作小说免费
SEO拓客,让您的业务飞速增长!,密云自适应网站建设
seo适用于什么领域,seo适用于什么领域中 ,ai智能翻译写作机器人v1.0
ChatGPT破解版:让人工智能助力你的工作与生活,ai cos帽
OpenAIGPTChatSoraOpenAIChatGPT服务在中断数小时后已恢复,ai视图线稿
怎么查一篇文章是不是AI写的?你需要这几个关键方法!
洗文章AI:让内容创作变得更智能、更高效
SEO搜索关键词是什么意思?全方位解析关键词优化的核心要素,lol ai图片
SEO收费如何选择合适的SEO服务,提升网站排名并增加曝光度,做网站优化哪家实惠
2025百度收录优化:提升网站排名,助力企业数字化转型,第一ai做
软件AI:颠覆未来的智能革命
seo能解决什么问题,seo会遇到哪些问题 ,挚爱花嫁ai
用AI写的文章算原创吗?真相揭示,带你深度思考!