Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[52.90.181.205] |
|
Сообщ.
#1
,
|
|
|
Подскажите, пожалуйста, можно ли откуда-нибудь извлечь уникальный идентификатор девайса ?
WinCE, PocketPC. |
Сообщ.
#2
,
|
|
|
Если нужен GUID могу подсказать
|
Сообщ.
#3
,
|
|
|
Что такое GUID ? Наверное, он. Как его извлечь ?
|
Сообщ.
#4
,
|
|
|
BOOL GetDeviceID(GUID *pGuid)
{ BOOL fRes; DWORD dwBytesReturned =0; DEVICE_ID* pDevID; int wSize; if (NULL == pGuid) return FALSE; memset(pGuid, 0, sizeof(GUID)); pDevID =new DEVICE_ID; memset(pDevID, 0, sizeof(DEVICE_ID)); pDevID->dwSize = sizeof(DEVICE_ID); fRes = KernelIoControl( IOCTL_HAL_GET_DEVICEID, NULL, 0, pDevID, sizeof( DEVICE_ID ), &dwBytesReturned ); wSize = pDevID->dwSize; delete(pDevID); if( (FALSE != fRes) || (ERROR_INSUFFICIENT_BUFFER != GetLastError())) return FALSE; pDevID=(DEVICE_ID*)new BYTE[wSize]; memset(pDevID, 0, wSize); pDevID->dwSize = wSize; fRes = KernelIoControl( IOCTL_HAL_GET_DEVICEID, NULL, 0, pDevID, wSize, &dwBytesReturned ); if((FALSE == fRes) || (ERROR_INSUFFICIENT_BUFFER == GetLastError()) ) { delete(pDevID); return FALSE; } BYTE* pDat = (BYTE*)&pGuid->Data1; BYTE* pSrc = (BYTE*)(pDevID) + pDevID->dwPresetIDOffset; memcpy(pDat, pSrc, pDevID->dwPresetIDBytes); pDat += pDevID->dwPresetIDBytes; pSrc = (BYTE*)(pDevID) + pDevID->dwPlatformIDOffset; memcpy(pDat, pSrc, pDevID->dwPlatformIDBytes); delete(pDevID); return TRUE; } Тока на эмуляторе не работает,так как его там нет. |
Сообщ.
#5
,
|
|
|
Спасибо большое, попробую.
|
Сообщ.
#6
,
|
|
|
Или можно взять CPUID.
|
Сообщ.
#7
,
|
|
|
2Oksiv
Вы можите рассказать как это сделать? |
Сообщ.
#8
,
|
|
|
Присоединяюсь к просьбе Kovalsky2 )
|