Windows Mobile 获取基站信息(LAC,CellID)
前言:
利弊:
测试平台:
开发语言:
typedef struct
{ char CountryCode[12]; char AreaCode[4]; char NetworkCode[4]; char CellID[4];
} TCREG_DATA;
获取基站信息:
void Get_Cellid(void)
{ char m_sTemp[12] = {0}; strcat(m_sTemp,"COM"); for(int i = 9; i > 0; -- i) { char ch1; _itoa(i,&ch1,10); strcat(m_sTemp,&ch1); strcat(m_sTemp,":"); TCREG_DATA* pData = (TCREG_DATA*)GetCREG(m_sTemp); if(!pData) continue; char szNum1[8] = {0}; char szNum2[8] = {0}; strcpy(szNum1,pData->AreaCode); strcpy(szNum2,pData->CellID); int iLac = (int)strtol(szNum1,NULL,16); int iId = (int)strtol(szNum2,NULL,16); if (iLac && iId) { sprintf(m_sCell.LAC,"%06d", iLac ); sprintf(m_sCell.ID,"%06d", iId ); break; } }
}
获取串口:
char* GetCREG( char * comPort )
{ HANDLE hCom; int bufpos; DCB dcb; COMMTIMEOUTS to; DWORD nWritten; DWORD event; DWORD nRead; static char outbuf[20], buf[256]; BYTE comdevcmd[2]= {0x84, 0x00}; WCHAR m_sCom[12] = {0}; mbstowcs(m_sCom,comPort,strlen(comPort)); hCom= CreateFile( m_sCom ,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,0,0); if (hCom==NULL || hCom==INVALID_HANDLE_VALUE) { hCom= NULL; return NULL; } if (!GetCommState(hCom, &dcb)) { return "ERROR:GetCommState Failed"; } dcb.BaudRate= CBR_115200; dcb.ByteSize= 8; dcb.fParity= false; dcb.StopBits= ONESTOPBIT; if (!SetCommState(hCom, &dcb)) { return "ERROR:SetCommState Failed"; } EscapeCommFunction(hCom, SETDTR); EscapeCommFunction(hCom, SETRTS); GetCommTimeouts(hCom, &to); to.ReadIntervalTimeout= 0; to.ReadTotalTimeoutConstant= 200; to.ReadTotalTimeoutMultiplier= 0; to.WriteTotalTimeoutConstant= 20000; to.WriteTotalTimeoutMultiplier= 0; SetCommTimeouts(hCom, &to); if (!SetCommMask(hCom, EV_RXCHAR)) { return "-8"; } DWORD rildevresult=0,nReturned=0; if (!DeviceIoControl (hCom,0xAAAA5679L, comdevcmd, sizeof(comdevcmd),0,0,0,0)) { return "-9"; } bufpos = 0; strcpy(outbuf,"AT+creg=2\r"); if (!WriteFile(hCom, outbuf, 10, &nWritten, NULL)) { return "-10"; } if (nWritten != 10) { return "-11"; } if (!WaitCommEvent(hCom, &event, NULL)) { return "-12"; } while(1) { if (!ReadFile(hCom, buf+bufpos, 256 - bufpos, &nRead, NULL)) { return "-13"; } if (nRead == 0) break; bufpos += nRead; if (bufpos >= 256) break; } strcpy(outbuf,"AT+creg?\r"); if (!WriteFile(hCom, outbuf, 9, &nWritten, NULL)) { return "-14"; } if (nWritten != 9) { return "-15"; } if (!WaitCommEvent(hCom, &event, NULL)) { return "-16"; } while(1) { if (!ReadFile(hCom, buf+bufpos, 256 - bufpos, &nRead, NULL)) { return "-17"; } if (nRead == 0) break; bufpos += nRead; if (bufpos >= 256) break; } puts(buf); rildevresult = 0; if (!EscapeCommFunction(hCom, CLRDTR)) { return "-4"; } if (hCom!=NULL) { CloseHandle(hCom); hCom= NULL; } char* cregResponse = strpbrk( buf, "CREG\0" ); return cregResponse;
}
总结:
转载于:https://www.cnblogs.com/EricSu/archive/2010/11/13/1876424.html
Windows Mobile 获取基站信息(LAC,CellID)相关推荐
- Android基站定位——通过手机信号获取基站信息
基站定位原理:通过手机信号获取基站信息,然后调用第三方公开的根据基站信息查找基站的经纬度值,想要具体地址信息的再根据经纬度值获取具体的地址信息. 一.通过手机信号获取基站信息 通过TelephonyM ...
- Android基站定位——通过手机信号获取基站信息(一)
转载请标明出处:http://blog.csdn.net/android_ls/article/details/8672442 基站定位原理:通过手机信号获取基站信息,然后调用第三方公开的根据基站信息 ...
- Windows Mobile获取通话记录 C#
Windows Mobile获取通话记录 C# 文章作者:alalmn文章作者:[E.S.T] alalmn 信息来源:邪恶八进制信息安全团队(www.eviloctal.com)飞龙 QQ31611 ...
- GPS实时定位、获取基站信息
好久没有来更新我的博客了 , 最近刚做了一个GPS实时定位和获取基站信息的一个小的Demo ,这个辛酸泪啊- 来给大家们来分享一下 ! 做这个项目我用的是用的原始的手机GPS定位, 因为这个有可能需要 ...
- AT指令获取基站信息
AT+CREG 网络注册和漫游 命令发送(command): AT+CREG=<mode> 命令响应(Response): +CREG :&l ...
- Windows Mobile 获取来电号码和屏蔽来电
今天接到一个特殊任务...在 Windows Mobile 中获得来电号码,其实它本身就有个来电显示,可现在要求就是要自己写程序来完成这个来电显示... 没办法...虽然没搞过...但是这个东东好像比 ...
- 安卓手机获取基站信息
拨号界面输入:*#*#4636#*#* 进入 "手机信息" 即可看到当前您所在的基站 LAC/CID 转载于:https://www.cnblogs.com/topwang-com ...
- gprs 获取基站信息,根据基站信息定位地理位置(基站免费查询接口)
1,首先需要利用AT指令获取到基站编号.小区编号: 参考: +CREG: 2,1,"2495","12EA" 例如以上数据: 2495:小区号 12EA:基站号 ...
- Windows Mobile获取SIM卡上的所有电话号码
从MS .NET CF版访问电话API(完整版) 以前查找了好些在.net CF框架上调用设备本地API函数读取手机SIM卡的资料,但各种资料都少了些描述,特别是少了一些引用的结构(struct),造 ...
最新文章
- bzoj2243 [SDOI2011]染色
- java和python哪个好就业2020-Python和java哪个就业前景好些?
- gRPC:Google开源的基于HTTP/2和ProtoBuf的通用RPC框架
- timespan怎么比较大小_装饰画怎么挂都不好看?那是你不懂技巧!整理了一篇攻略,请拿好...
- c语言switch计算利润,求助。。关于用switch编写简易计算器
- Apache Flink 零基础入门(十一)Flink transformation
- 数据结构:排序趟数 / 比较次数与序列的原始状态有关的排序方法有哪些?
- safari 音频播放问题
- const指针和指向常量的指针
- 好用到哭!你需要立刻学会的20个Python代码段,你get到了吗?
- caffe学习笔记(1)
- Linux shell脚本启动 停止 重启jar包
- 虚拟linux第一次启动网卡配置过程
- 时间定位表达式-用于时间的加、减调整
- 关于DNF的多媒体包NPK文件的那些事儿(8) - DNF里的DDS图像
- 阅卷系统java语言_主观题阅卷系统
- 原生js实现音乐播放器功能,可以实时显示歌词并且高亮当前句
- 富士通Fujitsu LPK-888T 打印机驱动
- mysql事务的ACID原理
- ping-pong机制