当前位置: 代码迷 >> Windows Mobile >> 怎么读取CDMA双模双待手机的IMSI号
  详细解决方案

怎么读取CDMA双模双待手机的IMSI号

热度:87   发布时间:2016-04-25 07:43:11.0
如何读取CDMA双模双待手机的IMSI号?
如题。

------解决方案--------------------
不同的厂商,读取的方法是不相同的,建议你和厂商联系。
------解决方案--------------------
问问你们那做驱动的人,要不就问问搞modum的。他们有命令可以读出来,没有的话封装一个给你。
------解决方案--------------------
imsi我这有c的源码:您可以参考一下,如果有哪位大侠知道 手机型号(比如:多普达p800) 的获得方法,请不吝赐教下,小弟急用:)谢谢。 
#define TAPI_API_LOW_VERSION 0x00010003 //TAPI_API版本信息 
#define TAPI_API_HIGH_VERSION 0x00020000 
#define EXT_API_LOW_VERSION 0x00010000 
#define EXT_API_HIGH_VERSION 0x00010000 
// CE手机平台的相关信息 
typedef struct _Phoneinfo 

LPTSTR tsSubscriberNumber;//imsi 
LPTSTR tsManufacturer;//制造商 
LPTSTR tsModel;//cpu型号 
LPTSTR tsRevision;//无线协议版本 
LPTSTR tsSerialNumber;//imei 
// LPVARSTRING tsphoneID; 
}Phoneinfo; 
/////手机信息私有部分//////////////////////////////////////////////////////////////////////////////// 
//取得LineDeviceID 
DWORD GetTSPLineDeviceID(const HLINEAPP hLineApp, 
const DWORD dwNumberDevices, 
const DWORD dwAPIVersionLow, 
const DWORD dwAPIVersionHigh, 
const TCHAR* const psTSPLineName) 

DWORD dwReturn = 0xffffffff; 
DWORD dwCurrentDevID = 0; 

for(dwCurrentDevID; dwCurrentDevID < dwNumberDevices ; dwCurrentDevID++) 

DWORD dwAPIVersion; 
LINEEXTENSIONID LineExtensionID; 
if(0 == lineNegotiateAPIVersion(hLineApp, dwCurrentDevID, //判断API版本 
dwAPIVersionLow, dwAPIVersionHigh, 
&dwAPIVersion, &LineExtensionID)) 

LINEDEVCAPS LineDevCaps; 
LineDevCaps.dwTotalSize = sizeof(LineDevCaps); 
if(0 == lineGetDevCaps(hLineApp, dwCurrentDevID, 
dwAPIVersion, 0, &LineDevCaps)) 

BYTE* pLineDevCapsBytes = (BYTE *)malloc(LineDevCaps.dwNeededSize); //取得存储设备信息的结构体所需的空间大小 
if(0 != pLineDevCapsBytes) 

LINEDEVCAPS* pLineDevCaps = (LINEDEVCAPS*)pLineDevCapsBytes; 
pLineDevCaps->dwTotalSize = LineDevCaps.dwNeededSize; 
if(0 == lineGetDevCaps(hLineApp, dwCurrentDevID, //取得设备的一些信息 
dwAPIVersion, 0, pLineDevCaps)) 

if(0 == _tcscmp((TCHAR*)((BYTE*)pLineDevCaps+pLineDevCaps->dwLineNameOffset), 
psTSPLineName)) //取得设备id并比较是不是移动设备的id 

dwReturn = dwCurrentDevID; 



free(pLineDevCapsBytes); 
pLineDevCapsBytes = NULL; 




return dwReturn; 

//取得关于手机的各种信息 
BOOL GetPhoneInfo(Phoneinfo *phoneinfo) 

DWORD dwNumDevs; 
DWORD dwAPIVersion = TAPI_API_HIGH_VERSION; 
LINEINITIALIZEEXPARAMS liep; 
HLINEAPP hLineApp = 0; 
HLINE hLine = 0; 
DWORD dwExtVersion;
LPBYTE pLineGeneralInfoBytes = NULL; 
DWORD dwTAPILineDeviceID; 
const DWORD dwMediaMode = LINEMEDIAMODE_DATAMODEM | LINEMEDIAMODE_INTERACTIVEVOICE; 
LINEGENERALINFO lviGeneralInfo; 
LPLINEGENERALINFO plviGeneralInfo; 

// set the line init params 
liep.dwTotalSize = sizeof(liep); 
liep.dwOptions = LINEINITIALIZEEXOPTION_USEEVENT; 

if (lineInitializeEx(&hLineApp, 0, 0, TEXT("ExTapi_Lib"), //初始化 
&dwNumDevs, &dwAPIVersion, &liep)) 

goto cleanup; 


// get the device ID 
dwTAPILineDeviceID = GetTSPLineDeviceID(hLineApp, dwNumDevs, //取得当前连接的移动设备id 
TAPI_API_LOW_VERSION, 
TAPI_API_HIGH_VERSION,