首页 > 开发 > 综合 > 正文

用C#通过Nokia手机发送短信(使用Nokia SDK3.0)

2024-07-21 02:19:15
字体:
来源:转载
供稿:网友

最大的网站源码资源下载站,

我在网络上找到一个用oxygen控件发送短信的c#源码,试着调试了一下,发现确实不错,使用起来也简单。但美中不足的是在发送的短信中会自动加上控件公司的信息,注册后会取消这些信息,但注册需要一笔不小的费用。
我直接在nokia的网站上下载了免费的pc connectivity sdk3.0,调试后发现可以实现同样的功能。以下程序在nokia8310用红外线连接电脑下发送短信成功。
安装sdk3.0后,在引用中添加com组件nokia setting adapter for pc suite 3.7和nokiacl messaging。
添加引用:
using sttngs3a_slib;
using nokiaclmessaging;
using system.text;

public void send_sms(string sms_number, string sms_content)?//参数为数据号码和发送内容
{
try
{
sttngs3a_slib.phoneinfo_suite3 phonestatus = new sttngs3a_slib.phoneinfo_suite3();
sttngs3a_slib.devnotifyopt devstatus;
phonestatus.get_devicestatus(out devstatus);?//判断手机是否连接到pc上
if (devstatus.tostring() == "attached")
{
nokiaclmessaging.shortmsgadapter smsobj = new nokiaclmessaging.shortmsgadapterclass();
nokiaclmessaging.shortmessageitem smsentry = new nokiaclmessaging.shortmessageitemclass();
smsentry.type = nokiaclmessaging.shortmessagetype.shortmessage_type_gsm_submit;
igsmsubmit submitobj = (igsmsubmit)smsentry.typeproperties;

//转换编码
unicodeencoding ustring = new unicodeencoding();
byte[] input = ustring.getbytes(sms_content.trim());

sms_content = system.text.encoding.unicode.getstring(input);

submitobj.message = sms_content;
submitobj.destinationaddress = sms_number.trim();
submitobj.servicecenteraddress = sms_center.text.trim();?//短信中心号码
submitobj.datacodingscheme = 8;?//使用unicode编码
submitobj.validityperiodrelative = 255;
submitobj.protocolid = 0;

smsobj.sendsms(shortmessageroutetype.shortmessage_route_type_any,submitobj);?//发送短信
messagebox.show("短信发送成功!");
}
else
{
messagebox.show("没有找到连接的手机!");
}
}
catch (exception x)
{
messagebox.show("错误:" + x.tostring(),"系统提示:");
}
}

sdk3.0支持目前流行的大部分手机,如果是比较老式的手机,请在nokia网站上下载sdk2.1,支持的部分手机在sdk3.0的另外一个组件nokia sms adapter(pc suite 3.7),具体哪些型号的手机参见sdk的说明文档。如果采用数据库的方式,那么公司所以的电脑都可以通过一部手机发送短信,也算是一种不错的通讯选择。当然,sdk3.0还可以实现其它很多功能,仔细研究sdk文档,可以实现接收短信、手机设置等功能。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表