小弟这有份读取短信猫的代码,无奈实在没有接触过类似的东西,来此请教各位朋友,有些疑问望请指教1.短信猫的波特率是厂商定好的?程序无法改变就是和它的波特率设置一样就可以?
2.手机波特率怎么查看?我想用自己手机做练习
3.如果一下把短信猫里的短信全部读出每条短信是以什么分割的?
4.如何知道所读取的短信的索引?里面的索引是从0开始么?
5.听说读取短信后不应该立马删除这样会影响手机卡寿命,在短信达到一定数量后在删除?
6.如何区分已读和未读短信?
6.删除的时候根据索引删除,需要从后往前逐个删除?我这有个例子用了一段时间了,我看他就是从前往后删的,怎么回事?
7.可以读取诺基亚手机的短信么?为什么有个例子读取短信猫可以读手机却总是写入超时?
8.用电脑上的超级终端可以连接上手机读取么?最好可以一步步说一下小弟实在没有接触过类似的东西,各位朋友老师知道哪条就回答哪条,先在此谢过啦

解决方案 »

  1.   

    共享一下 共同学习
    [email protected]
      

  2.   

    将sms.dll 文件拷贝到系统安装目录中的system32 文件夹中,然后再根据以下接口函数说明和提供的例
    程源码开发
    接口函数:
    1、Sms_Connection(Com_Port As Integer,Com_BaudRate As Integer, Mobile_Type As String) As
    Integer
    Sms_Connection 函数说明如下:
    功能描述:用于初始化终端与串口的连接
    Com_Port:串口号(0 为红外接口,1,2,3,...为串口)
    Com_BaudRate:波特率
    Mobile_Type:返回终端型号
    Sms_Connection:返回值(0:连接终端失败;1:连接终端成功)
    2、Sms_Send(Sms_TelNum As String, Sms_Text As String) As Integer
    Sms_Send 函数说明如下:
    功能描述:发送短信
    Sms_TelNum:发送给的终端号码
    Sms_Text:发送的短信内容
    Sms_Send:返回值(0:发送短信失败;1:发送短信成功)
    3、Sms_Receive(Sms_Type As String, Sms_Text As String) As Integer
    Sms_Receive 函数说明如下:
    功能描述:接收指定类型的短信
    Sms_Type:短信类型(0:未读短信;1:已读短信;2:待发短信;3:已发短信;4:全部短信)
    Sms_Text:返回指定类型的短信内容字符串(短信内容字符串说明:短信与短信之前用"|"符号
    作为分隔符,每条短信中间的各字段用"#"符号作为分隔符)
    4、Sms_Delete(ByVal Sms_Index As String) As Integer
    Sms_Delete 函数说明如下:
    功能描述:删除指定的短信
    Sms_Index:短信的索引号
    5、Sms_AutoFlag()As Integer
    Sms_AutoFlag 函数说明如下:
    功能描述:检测连接的终端是否支持自动收发短信功能
      

  3.   

    1.短信猫的波特率是厂商定好的?程序无法改变就是和它的波特率设置一样就可以?
      厂商定好的,只须设置为一致即可;
    2.手机波特率怎么查看?我想用自己手机做练习
      不同的手机有不同的标准,再者你的手机支持连到COM口吗?
    3.如果一下把短信猫里的短信全部读出每条短信是以什么分割的?
      短信Modem提供了相应的操作指令,须学习短信Modem的指令读取/删除短信
    4.如何知道所读取的短信的索引?里面的索引是从0开始么?
      同3
    5.听说读取短信后不应该立马删除这样会影响手机卡寿命,在短信达到一定数量后在删除?
      这个没有听说过,我在写程序的时候,都是收到短信后,读一条删除一条;
    6.如何区分已读和未读短信?
      只须调用短信Modem的接口指令即可;
    6.删除的时候根据索引删除,需要从后往前逐个删除?我这有个例子用了一段时间了,我看他就是从前往后删的,怎么回事?
      随便怎么删除,不过一般循环删除的都是从后往前删除;
    7.可以读取诺基亚手机的短信么?为什么有个例子读取短信猫可以读手机却总是写入超时?
      手机和短信Modem的指令是不同的,你要具体查看相应的指令才行,没有万能的指令;
    8.用电脑上的超级终端可以连接上手机读取么?最好可以一步步说一下
      有的手机支持COM口连接,据我所以大部分型号的手机不支持,nokia的好像支持,但我自己一直没试过手机连COM口
      

  4.   

    你是否想要获取GSM或是GPRS的接收内容?
      

  5.   

    只做过发送短信的,接收部分没做过,可以回答你几个问题。
    短信猫收发基于AT指令,建议你去研究一下PDU编码,会对短信有深刻的认识。
    还有就是串口通信了,.Net 提供了SerialPort类,封装得很完善。1.短信猫的波特率是厂商定好的?程序无法改变就是和它的波特率设置一样就可以? 
       将串口的波特率,数据位,停止位...和设备的设置成一致,即可。(不一致可能会乱码)
    2.手机波特率怎么查看?我想用自己手机做练习
       要查文档的吧。
    6.删除的时候根据索引删除,需要从后往前逐个删除?我这有个例子用了一段时间了,我看他就是从前往后删的,怎么回事? 
    7.可以读取诺基亚手机的短信么?为什么有个例子读取短信猫可以读手机却总是写入超时? 
      可以的吧,我就是拿Nokia 6500s做的实验, 读手机却总是写入超时:驱动装了没?
    8.用电脑上的超级终端可以连接上手机读取么?最好可以一步步说一下 
      研究下AT指令,网上这样的例子很多。祝你好运
      

  6.   

    用电脑上的超级终端可以连接上手机读取么?最好可以一步步说一下
        
        以motorola为例,把手机的连接(USB)设为数据传真(不要设为内存连接)通过数据线连接PC会提示要安装手机驱动找个同型号手机驱动安装成功后在“设备管理器-》调制解调器 下面会显示驱动设备(Motorola 为Motorola USB Modem)”右键属性可以看到对应的 “Com口”及对应“波特率”有了这两个参数就可以在“超级终端”中新建一个连接
    连接成功建立 输入at回车显示OK证明连接成功(不同手机可能AT指令有所不同)。