Post Print Search
帖子排序:    
帖子发起人: MacintoshM   发起时间: 2006-05-14 11:55   回复: 5
MacintoshM 离线,最后访问时间: 2008-8-15 22:49:45 MacintoshM

发帖数前10位

注册: 2006-05-08
发贴: 73
取得PPC2003设备机身设备序号的EVC程序和代码
附件: GetSerialNumber.rar
楼主  2006-05-14, 11:55 Reply Quote
主要是使用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("");
        }
}
IP 地址: 已记录   报告
leafmaple 离线,最后访问时间: 2007-7-14 1:54:21 枫叶

发帖数前25位

注册: 2006-11-25
发贴: 6
Re: 取得PPC2003设备机身设备序号的EVC程序和代?
第2楼  2006-11-26, 1:47 Reply Quote
顶,这个有用
IP 地址: 已记录   报告
helloGG 离线,最后访问时间: 2007-4-9 15:47:48 IMGGTOO

发帖数前100位

注册: 2007-04-03
发贴: 3
Re: 取得PPC2003设备机身设备序号的EVC程序和代码
第3楼  2007-04-03, 15:15 Reply Quote
下载了,就得顶!!!
IP 地址: 已记录   报告
helloGG 离线,最后访问时间: 2007-4-9 15:47:48 IMGGTOO

发帖数前100位

注册: 2007-04-03
发贴: 3
Re: 取得PPC2003设备机身设备序号的EVC程序和代码
第4楼  2007-04-03, 16:08 Reply Quote
程序在模拟器上可以正确运行.

问楼主个问题:我在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);

这也是确定的吗?
IP 地址: 已记录   报告
sunboywxp 离线,最后访问时间: 2007-11-30 21:33:49 sunboywxp

发帖数前500位

注册: 2007-11-30
发贴: 1
Re: 取得PPC2003设备机身设备序号的EVC程序和代码
第5楼  2007-11-30, 21:33 Reply Quote
为什么我下载下来在wince4.2下不能运行呢?提示缺少组件。还需要什么dll?
IP 地址: 已记录   报告
mengshu 离线,最后访问时间: 2008-4-11 16:51:33 梦书



发帖数前10位
男

注册: 2005-11-28
发贴: 16
Re: 取得PPC2003设备机身设备序号的EVC程序和代码
第6楼  2008-01-17, 15:10 Reply Quote
Pkfuncs.h 在SDK的目录下是找不到的 ,因为函数KernelIoControl是特权的 API,一般只有OEM厂商才有,不过 你可以在网上搜索到该函数的用法,其实很简单,只要知道其原型以及自己定义 一些宏即可,MS已经 提供了实现该函数的库但没有 提供头文件.
MSN:fzlbqiang@hotmail.com
Blog:http://www.cnblogs.com/mengshu-lbq
IP 地址: 已记录   报告
Mobile应用开发 » 移动开发技术 » Embedded VC » Re: 取得PPC2003设备机身设备序号的EVC程序和代码