Windwos mobile如何获得IMEI号,IMSI号 IMEI即International Mobile Equipment Identity(国际移动设备身份)的简称,每一个手机具有唯一IMEI号,用途识别手机,IMEI码一般由15位数字组成,一般的GSM手机按下“*#06#”,IMEI码就会显示出来。 IMSI即国际移动用户识别码,在GSM系统中,给每个移动用户分配一个唯一的国际用户识别码IMSI,此码在网中所有位置包括漫游区都是有效的。在我们所使用的手机SIM卡中是不保留手机号的,而是保留IMSI号。 下面介绍如何在程序中获得IMEI号: void IMEIRILNotifyProc(DWORD dwNotifyCode, const void* pData, DWORD dwDataSize, DWORD dwParam) { } // ************************************************************************** // 函数名: IMEIRILResultProc // 函数作用: // 参数说明: // 返回值说明: // ************************************************************************** void IMEIRILResultProc(DWORD dwResultCode, HRESULT hrCommandID, const void* pData, DWORD dwDataSize, DWORD dwParam) { if(RIL_RESULT_OK == dwResultCode) { RILEQUIPMENTINFO* pEquipmentInfo=(RILEQUIPMENTINFO*)pData; memcpy(g_ssid,(char*)pEquipmentInfo->szSerialNumber,14); SetEvent(hIMEIEvent); } } // ************************************************************************** // 函数名: GetServingsCode // 函数作用: 获得IMSI号 // 参数说明: 无 // 返回值说明: TRUE:成功 // FALSE:失败 // ************************************************************************** BOOL GetServingsCode() { HRIL m_hRil; HRESULT hResult = RIL_Initialize( 1, IMEIRILResultProc, IMEIRILNotifyProc, RIL_NCLASS_SUPSERVICE, 0, &m_hRil); HRESULT hr = RIL_GetEquipmentInfo(m_hRil); if(FAILED(hr)) { RIL_Deinitialize( m_hRil); return FALSE; } else { hIMEIEvent=CreateEvent(NULL, FALSE, FALSE, NULL); DWORD dwWait = WaitForSingleObject(hIMEIEvent,60000); if (WAIT_OBJECT_0 == dwWait) { RIL_Deinitialize( m_hRil); CloseHandle(hIMEIEvent); return TRUE; } else { RIL_Deinitialize( m_hRil); CloseHandle(hIMEIEvent); return FALSE; } } } 获得IMSI方法与获得IMEI号方法相同,只是将函数RIL_GetEquipmentInfo换为RIL_GetUserIdentity 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/woxinfei/archive/2008/05/05/2394221.aspx |
|