如何用程序发短信,200分奉上,求具体解决办法。 ( 积分: 200 )

  • 主题发起人 pyzhx801225
  • 开始时间
P

piaosiy

Unregistered / Unconfirmed
GUEST, unregistred user!
MSComm1这个也行,我用的是另外的.不过你要买专用的短信发送设备,也就是GSM MODEM.
 
P

pyzhx801225

Unregistered / Unconfirmed
GUEST, unregistred user!
用手机不行吗,数据线和手机相连,手机带的软件就可以在电脑上发短信。
 
P

piaosiy

Unregistered / Unconfirmed
GUEST, unregistred user!
抱歉,不方便使用QQ.
 
P

pyzhx801225

Unregistered / Unconfirmed
GUEST, unregistred user!
另外还有其它办法吗,调用网上的,通过程序发短信。
 

天道酬勤

Unregistered / Unconfirmed
GUEST, unregistred user!
两种办法;
1 通过网关
2 通过GSM-modem
 
P

piaosiy

Unregistered / Unconfirmed
GUEST, unregistred user!
用手机发不行的....至少一般的手机不行.
 
P

pyzhx801225

Unregistered / Unconfirmed
GUEST, unregistred user!
我的手机是MOTO的,它带的MPT软件,可以管理手机里的东西,而且还可以发短信。
 
P

piaosiy

Unregistered / Unconfirmed
GUEST, unregistred user!
前面我说过,有些网站提供这种服务,不要GSM MODEM ,不过调用方式经常改,不稳定.
 
P

pyzhx801225

Unregistered / Unconfirmed
GUEST, unregistred user!
用网关的现在不行了吧。得有验证码。
 
P

pyzhx801225

Unregistered / Unconfirmed
GUEST, unregistred user!
TO piaosiy:
电脑没有上网,把手机用数据线连上,用手机随机带的软件,通过手机发短信,不是用网络。你不知道。
 
P

piaosiy

Unregistered / Unconfirmed
GUEST, unregistred user!
来自:pyzhx801225, 时间:2005-10-11 15:53:30, ID:3233744
我的手机是MOTO的,它带的MPT软件,可以管理手机里的东西,而且还可以发短信。

如果你说你的行,可以使用超级终端发条短信看看就知道能不能发了.
以下是超级终端使用命令:
几个AT指令介绍:

1 AT+CREG? 查询是否入网,0,0为未入网;0,1为入网;0,2为搜索网络
2 AT+CMGF 短消息格式 1为文本方式,0为PDU方式
3 AT+CSCA? 读取中心号码
4 AT&F 恢复出厂设置
5 AT+CGMI 厂家标识
6 AT+CGMM 模块标识
7 AT+CGMR 软件版本号
8 AT+CMGR=[index] 读取指定位置的短消息
9 AT+CMGL=4 或AT+CMGL=”ALL” 读取所有短消息
10 AT+CMGD=[index] 删除指定位置短消息
11 ATD********; 拨号
12 ATH 挂断电话

短消息发送示例(文本方式)
格式: AT+CMGs="对方电话号码&quot
回车.等出现 ">"好后接着输入内容,最后,以^Z结束.
AT+CMGs="13621972122&quot
回车.
> (输入内容)021-63222149^Z
+CMGS: 198
OK
 
P

piaosiy

Unregistered / Unconfirmed
GUEST, unregistred user!
来自:pyzhx801225, 时间:2005-10-11 15:59:21, ID:3233761
TO piaosiy:
电脑没有上网,把手机用数据线连上,用手机随机带的软件,通过手机发短信,不是用网络。你不知道。

如果你认为可以,你用我上面给你的发一下试试就知道了.如果真是可以就能发出去.
 
P

pyzhx801225

Unregistered / Unconfirmed
GUEST, unregistred user!
下面是我的手机活动记录。


16:03:54,42 Modem <Motorola USB Modem #2> State ConnectTapi = 2
16:03:54,70 #### Testing mobile state...
16:03:54,76 --> ATE0<CR>
16:03:54,90 <-- ATE0
16:03:54,92 <-- OK
16:03:55,03 --> AT+MODE=0<CR>
16:03:55,12 <-- OK
16:03:55,17 --> AT+MDBL=0<CR>
16:03:55,26 <-- OK
16:03:55,31 --> AT+CGMI;+CGMM;+CGMR;+CGSN<CR>
16:03:55,45 <-- +CGMI: &quot;Motorola CE, Copyright 2000&quot;
16:03:55,48 <-- +CGMM: &quot;GSM900&quot;,&quot;GSM1800&quot;,&quot;GSM1900&quot;,&quot;GSM850&quot;,&quot;MODEL=C350&quot;
16:03:55,51 <-- +CGMR: &quot;R312ULSAS_G_09.10.29R&quot;
16:03:55,54 <-- +CGSN: IMEI352587004132395
16:03:55,56 <-- OK
16:03:55,92 --> AT+CSQ;+CBC<CR>
16:03:56,06 <-- +CSQ: 21,99
16:03:56,07 <-- +CBC: 0,20
16:03:56,09 <-- OK
16:03:56,54 --> AT+CPMS=&quot;IM&quot;<CR>
16:03:56,64 <-- +CPMS: 28,88
16:03:56,65 <-- OK
16:03:56,76 --> AT+CPBS=&quot;ME&quot;<CR>
16:03:56,90 <-- OK
16:03:56,95 --> AT+CPBR=?<CR>
16:03:57,09 <-- +CPBR: (1-100),40,24
16:03:57,10 <-- OK
16:03:57,15 --> AT+CPBS?<CR>
16:03:57,25 <-- +CPBS: &quot;ME&quot;
16:03:57,26 <-- OK
16:03:57,50 --> AT+CPBS=&quot;SM&quot;<CR>
16:03:57,59 <-- OK
16:03:57,64 --> AT+CPBR=?<CR>
16:03:57,78 <-- +CPBR: (101-300),40,13
16:03:57,79 <-- OK
16:03:57,84 --> AT+CPBS?<CR>
16:03:57,93 <-- +CPBS: &quot;SM&quot;
16:03:57,95 <-- OK
16:03:58,12 --> AT+CPBS=&quot;ME&quot;<CR>
16:03:58,21 <-- OK
16:03:58,26 --> AT+CPBS?<CR>
16:03:58,40 <-- +CPBS: &quot;ME&quot;
16:03:58,42 <-- OK
16:03:58,53 Wait...
16:03:59,17 --> AT+CGATT?<CR>
16:03:59,31 <-- +CGATT: 0
16:03:59,32 <-- OK
 
P

pyzhx801225

Unregistered / Unconfirmed
GUEST, unregistred user!
我的代码,你看看是不是有问题。

procedure TForm1.Button1Click(Sender: TObject);
var
cmd:string;
i,j:integer;
ba:array of byte;
cnReturn:string;
begin
//清空接收缓冲区
cnReturn:='#13';
comm.InBufferCount:=0;
comm.InputLen:=0;
//设置短讯中心号码
/////comm.output:='AT+CSCA=+8613800371500'+cnReturn;
/// sleep(1000);
memo1.Lines.add(comm.input);
//检查是否支持sms服务
comm.output:='AT+CSMS=0'+cnReturn
!!!!!!!!!!!!!!!!!!!!!!!!这一部出错了。
sleep(1000);
memo1.Lines.add(comm.input);
//设置modem为pdu模式
comm.output:='AT+CMGF=0'+cnReturn
//Set PDU mode
sleep(1000);
memo1.Lines.add(comm.input);
//设置字符集
cmd:='AT+CSCS=&quot;GSM&quot;'+cnReturn;
comm.output:=cmd;
sleep(1000);
memo1.Lines.add(comm.input);

//开始发命令长度为17
comm.output:='AT+CMGS=17'+cnReturn;
sleep(1000);
memo1.Lines.add(comm.input);

//下面是设置pdu包数据,这里为一个固定的包,它在超级终端里测试过正常
cmd:='0891683108801505F011000D91683188053864F4000800044E2D'+'1A';
//这个包中每两位为一个字节,把他们放到一个字节数组中
setlength(ba,length(cmd) div 2-1);
i:=1;
j:=0;
while i<length(cmd) do
begin
ba[j]:=strtoint('$'+cmd+cmd[i+1]);
inc(j);
inc(i,2);
end;
//把pdu包送给modem
comm.Output:=ba;
sleep(1000);
memo1.lines.add(comm.input);
end;
 
P

piaosiy

Unregistered / Unconfirmed
GUEST, unregistred user!
你用超级终端往外发短信试试,或者你读一条短信,可以就没问题.
 
P

pyzhx801225

Unregistered / Unconfirmed
GUEST, unregistred user!
我点‘超级终端’一打开就出了个新连接不会用。
 
P

pyzhx801225

Unregistered / Unconfirmed
GUEST, unregistred user!
AT+CMGs这个不行,其它的部分可以,是不是,指令不一样。
 
P

piaosiy

Unregistered / Unconfirmed
GUEST, unregistred user!
这样吧,你去看看你的手机说明书,看看有没有相关的连接说明,如果没有的话估计就不行.
 
P

piaosiy

Unregistered / Unconfirmed
GUEST, unregistred user!
你把这几条命令结果发上来看看
1 AT+CREG?
3 AT+CSCA?
8 AT+CMGR=1
 
N

nxpostwjq

Unregistered / Unconfirmed
GUEST, unregistred user!
请参见WWW.ENSMS.COM 这个网站可提供接口
 

Similar threads

D
回复
0
查看
702
DelphiTeacher的专栏
D
D
回复
0
查看
676
DelphiTeacher的专栏
D
顶部