日期:2011-06-03  浏览次数:20420 次

由于在单位使用到发手机短信息的地方有很多,可能是从网页、可能是OUTLOOK中的窗体、也可能是某台非Windows操作系统的主机的某个系统,所以经过思考探讨,觉得最好的解决方案是采用Windows的“服务”,定时从一个目录中固定格式的文本文件中读取出相应的信息,发送出去。而其它客户端只需往该目录写入文本信息即可。思路定下来后就让我们开始吧! 2fV\d?SB  
RMIw%D4|*Z  
  先交待一下开发平台:
M=6XYU  
  
, !gsI_6|w  
   Windows 2000 Advance Server操作系统
_[G:i*)  
   Visual Studio .Net
|JQzS.P/F  
   Oxygen Sms ActiveX Control V2.3 (Share Ware)
?F<YUeT  
   Nokia 3210手机通过数据线接在COM1上。
!Ir~iob  
d<~nEA0Y  
  运行Visual Studio .Net,新建一个C#的项目,选择“Windows Server”类型的项目,命名为“SmsServer”。在Server1的设计画面,将“ServerName”命名为“SmsServer”。点击“视图设计器按钮”切换到设计画面,在“Windows Forms”工具箱中拖一时钟控件,命名为“SmsTimer”,在“Components”工具箱中拖一“EventLog”控件。命名为“eventLog1”。在“项目”菜单中点击“添加引用”,选择“COM”页,浏览到安装Oxygen Sms ActiveX Control V2.3程序的目录,找到SMSControl.ocx添加到“选定的组件”中。
w s?{(Zl  
  将Server1.cs代码替换为
PsT?tK^,;  
o8_)f COS  
  using System;
BC8I!*SN  
  using System.Collections;
uh1*|Ww^E  
  using System.ComponentModel;
x_{rP{I  
  using System.Data;
9i'/d ,Y/  
  using System.Diagnostics;
+Zu)Z<3c-S  
  using System.ServiceProcess;
|5-*,ao  
  using System.IO;
RmK~/PFU  
  using System.Text
}jLL  
JUnz/<>QI  
namespace SmsServer
I=6q!`  
{
btS cU;n  
  public class SmsServer : System.ServiceProcess.ServiceBase
pTnf0WI  
    {
ivz-/6_(x  
     private System.Timers.Timer SmsTimer;
1RR2|O  
     private System.Diagnostics.EventLog eventLog1;
mzKZL8bz  
     public O2SMSXControl.O2SMSX SmsX1;//定义手机短信对象
-D;J*0'  
    // <summary>
F}}GyC  
     // Required designer variab