深圳梦网科技提供的短信收发模块DLL,里边有三个主要函数(初始化\发送短信\关闭),我在一般程序里使用是正常的,但将相同的代码放在NT程序里执行,却得不到正常结果,发送函数的返回值告诉我发送是成功的,但对方手机就是收不到数据.
大家对这方面有什么建议吗?
谢谢!

解决方案 »

  1.   

    收发模块DLL不兼容NT平台吧?
      

  2.   


    自从 Windows2000 出来后,就基本转入NT平台了,现在 Win98 基本都看不到了。
    这个问题,估计还是楼主自己程序的问题,调试一下,分析一下出错原因。
      

  3.   

    我想两位是误解我的意思了,我做了两个程序:一个是一般的对话框程序,一个是NT服务程序,两个都相同方式调用DLL,结果对话框程序正常,而NT服务程序发送出来的信息手机手不到,简短程序如下:
    int nRc;
    fnCloseModem(gComm);  //关闭串口 nRc = fnSetModemType(gComm,0); //打开串口1、1口短信猫


    nRc = fnInitModem(gComm);     

    nRc = fnSendMsg(gComm,"13594115311","短信模块成功启动!");就这么简单,不用调试的,写日志记录都返回了成功.就是NT服务程序发送的信息手不到.
      

  4.   

    用检测软件 看看你的信息是否真的从串口发送出去了.还有,要进行错误处理.你没有对返回值处理.用getlasterror捕获一下 系统错误.
      

  5.   

    服务程序与应用程序的差别主要在于进程所属的用户不同,服务程序是system用户,应用程序是登录用户。不过看起来这部分与你现在遇到的问题没有关系,所以感觉还是你的两个程序内部有所差异。如果找不出问题,建议你做一个DLL程序,在DLL程序中做一个导出函数,没有任何参数,按照固定的参数来发短信,另外分别用一个应用程序和一个服务程序来调这个导出函数,看这样执行是否有错。
      

  6.   

    nRc = fnSendMsg(gComm,"13594115311","短信模块成功启动!"); 
    gComm错误了吧