WinCE中如何获取PDA的ID码

本文介绍在PPC(Personal Pocket Computer)设备上获取唯一设备ID的方法。针对ipaq设备提供了两种途径:一是通过Compaqi PAQ SDK使用CPQInfoGetSerialNo函数;二是利用通用SDK,借助CreateAssetFile.exe生成的cpqAssetData.dat文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  在PALM中﹐每台PDA都有唯一的ID碼﹐我想在WINCE中也應該有類似的ID碼﹐但如何在程序中獲取該ID碼﹖

 

答案就是PPC没有统一的Device ID

如果你为ipaq开发程序,那么两种方法可以取得device id:

 

1 Download Compaq iPAQ SDK 然后用 CPQInfoGetSerialNo function (定义在CPQInfo.h中)取得.

 

2 如果你只想用通用SDK,那么有一个取巧的办法,就是运行\windows\CreateAssetFile.exe ,然后读取自动生成的\windows\cpqAssetData.dat 文件, DeviceID就在里面, 这里有一段程序专门干这事:


 1 CString GetSerialNumber()
 2 
 3 {
 4 
 5 // Start CreateAssetFile.exe
 6 
 7 PROCESS_INFORMATION pi;
 8 
 9 if (!::CreateProcess(TEXT("\windows\CreateAssetFile.exe"),
10 
11 NULL, NULL, NULL, FALSE, 0, NULL, NULL, NULL, &pi))
12 
13 {
14 
15 m_strCompaqIpaqId = _T("");
16 
17 m_strErrorMessage += _T("Cannot run \windows\CreateAssetFile.exe file.");
18 
19 return TEXT("");
20 
21 }
22 
23  
24 
25 // Wait until CreateAssetFile.exe will be finished
26 
27 ::WaitForSingleObject(pi.hProcess, INFINITE);
28 
29  
30 
31 // Read data from cpqAssetData.dat file
32 
33 HANDLE hInFile;
34 
35 TCHAR strSN[65];
36 
37 DWORD dwBytesRead;
38 
39 hInFile = CreateFile(TEXT("\windows\cpqAssetData.dat"), GENERIC_READ,
40 
41 FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
42 
43  
44 
45 if (hInFile == INVALID_HANDLE_VALUE) {
46 
47 m_strCompaqIpaqId = _T("");
48 
49 m_strErrorMessage += _T("Cannot read \windows\cpqAssetData.dat file.");
50 
51 return TEXT("");
52 
53 }
54 
55  
56 
57 SetFilePointer(hInFile, 976, NULL, FILE_BEGIN);
58 
59 memset(strSN, 064 * sizeof(TCHAR));
60 
61 ReadFile(hInFile, &strSN, 64&dwBytesRead, NULL);
62 
63 CloseHandle(hInFile);
64 
65  
66 
67 return CString(strSN);
68 
69 
70 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值