Re: 取得PPC2003设备机身设备序号的EVC程序和代码
Embedded VC
取得PPC2003设备机身设备序号的EVC程序和代码
MacintoshM
2006-05-14, 11:55
主要是使用KernelIOControl这个函数
CString GetSerialNumberFromKernelIoControl()
{
DWORD dwOutBytes;
const int nBuffSize = 4096;
byte arrOutBuff[nBuffSize];
BOOL bRes = ::KernelIoControl(IOCTL_HAL_GET_DEVICEID,
0, 0, arrOutBuff, nBuffSize, &dwOutBytes);
if (bRes)
{
CString strDeviceInfo;
for (unsigned int i = 0; i<dwOutBytes; i++)
{
CString strNextChar;
strNextChar.Format(TEXT("%02X"), arrOutBuff);
strDeviceInfo += strNextChar;
}
CString strDeviceId =
strDeviceInfo.Mid(40,2) +
strDeviceInfo.Mid(45,9) +
strDeviceInfo.Mid(70,6);
return strDeviceId;
}
else
{
return _T("");
}
}
Re: 取得PPC2003设备机身设备序号的EVC程序和代?
枫叶
2006-11-26, 1:47
顶,这个有用
Re: 取得PPC2003设备机身设备序号的EVC程序和代码
IMGGTOO
2007-04-03, 15:15
下载了,就得顶!!!
Re: 取得PPC2003设备机身设备序号的EVC程序和代码
IMGGTOO
2007-04-03, 16:08
程序在模拟器上可以正确运行.
问楼主个问题:我在MSDN上查了"KernelIoControl"这个函数,
"
Requirements
OS Versions: Windows CE 2.10 and later.
Header: Pkfuncs.h.
Link Library: Coredll.lib.
"
但是我添加了#include "Pkfuncs.h",却提示找不到这个头文件.楼主使用这个函数的方法好奇怪,能否简单的解释下?
另外,获取的数据,固定取其中几位:CString strDeviceId =
strDeviceInfo.Mid(40,2) +
strDeviceInfo.Mid(45,9) +
strDeviceInfo.Mid(70,6);
这也是确定的吗?
Re: 取得PPC2003设备机身设备序号的EVC程序和代码
sunboywxp
2007-11-30, 21:33
为什么我下载下来在wince4.2下不能运行呢?提示缺少组件。还需要什么dll?
Re: 取得PPC2003设备机身设备序号的EVC程序和代码
梦书
2008-01-17, 15:10
Pkfuncs.h 在SDK的目录下是找不到的 ,因为函数KernelIoControl是特权的 API,一般只有OEM厂商才有,不过 你可以在网上搜索到该函数的用法,其实很简单,只要知道其原型以及自己定义 一些宏即可,MS已经 提供了实现该函数的库但没有 提供头文件.
MSN:fzlbqiang@hotmail.com
Blog:http://www.cnblogs.com/mengshu-lbq
Copy Left WinFans(R)