|
首先问一下,硬件唯一标识是不是就是指IMEI号。
如果硬件唯一标识是指IMEI号,那么在WinCE5.0下如何取得呢,我找了资料了,很多人说用“lineGetGeneralInfo”这个方法,但是我在WinCE5.0上试了,首先WinCE5.0的SDK中没有CellCore.lib,我下载了WM的SDK,从中找到了CellCore.lib,编译连接通过,但是在WinCE5.0环境不能运行。
我又找了其它方法,KernelIoControl,使用方法如下:
#define IOCTL_HAL_GET_DEVICEID CTL_CODE(FILE_DEVICE_HAL, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
if (KernelIoControl (IOCTL_HAL_GET_DEVICEID, NULL, 0, (LPVOID)DeviceID, Len, &Len))
{... ...}
但是在不同的硬件上取得的DeviceID是一样的,比如SMDK2443 Board,在好几台机器上都是这个值,这还算什么唯一标识呢?
而且“SMDK2443 Board”这个值,用GetSystemInfo()也同样能取得,取得方法如下:
SYSTEM_INFO stSystemInfo = {0};
GetSystemInfo( &stSystemInfo );
stSystemInfo.dwProcessorType中保存的就是“SMDK2443 Board”了。
那么用“KernelIoControl ”和“GetSystemInfo”都能取到同样的值,这也肯定不是硬件唯一标识了。
有人能说一下,到底如何能取到硬件唯一标识吗???万分感谢。
|
|