C#中串行通讯控件mscomm.ocx遇到的很奇怪的问题!?

sgwyz 2008-07-07 08:30:29
我在用c#开发一个收发短信的程序,需要与串口短信猫通信,于是我就采用了mscomm32.ocx控件,注册引用一切正常,代码可以通过编译,生成的程序运行也很正常,没有任何错误提示,但是运行时却总是没有结果,我设置断点调试了一下,结果发现出现了一个很奇怪的问题,实在无法理解,各位谁有这方面的经验,帮助一下啊,在线等ing……

下面是出现问题的代码:


部分代码:
……
……
string Buffer = "";
string bufy = "AT+CSCA?\r";
int i = 0;
while (i < 10)
{
this.com.Output = bufy; //就是这行代码出错,但是没有任何提示 错误提示:异常来自HRESULT:0x800A018A (CTL_GETNOTSUPPORTED)

Thread.Sleep(300);
Buffer = Buffer + this.com.Input;
Thread.Sleep(300);
if (Buffer.IndexOf("86") != -1)
{
break;
}
i++;
}

……
……
...全文
216 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mjp1234airen4385 2012-06-21
  • 打赏
  • 举报
回复
不要用string,使用byte【】试试
fsstolw 2012-06-21
  • 打赏
  • 举报
回复
这是原来用BCB写的调用短信猫的发送短信程序,希望对你有用
bool TCCService::SendShortMessage(String Telephone, String Text)
{
bool Result = false;

AppLog.Add(fsLog::logINFO, "准备发送短信,手机号("+Telephone+")内容:"+Text);

char szNextMsg[80]; //测试版限制发送内容<=80字节
char szMsg[80];
char szSCA[30];
char szPhNbr[30];
char err[30];

strcpy(szSCA, CommInfo.szSCA);
strcpy(szMsg, Text.c_str());
strcpy(szPhNbr, Telephone.c_str());

if ( bSendMsg(hPort, szMsg, szPhNbr, szSCA, szNextMsg, iSMS_F, err))
{
AppLog.Add(fsLog::logINFO, "发送一条短信成功,手机号("+Telephone+")内容:"+Text);
Result = true;
}else
{
AppLog.Add(fsLog::logINFO, "发送一条短信失败,手机号("+Telephone+")内容:"+Text);
}

return Result;
}
fsstolw 2012-06-21
  • 打赏
  • 举报
回复
this.com.Output = bufy;
你检查一下,在你的这句之间,是否正常打开了COM口呢?
RmlifeChen 2012-06-21
  • 打赏
  • 举报
回复
碰到同样问题,请问楼主解决了没有。
LXJ841536954 2009-09-29
  • 打赏
  • 举报
回复
赶快解决吧
baihe_591 2008-07-07
  • 打赏
  • 举报
回复
c#有自带的串口控件:serialport
sgwyz 2008-07-07
  • 打赏
  • 举报
回复
我查了一下 错误的意思是不能访问只写属性 但是我程序中并没有读取output实行的值啊

1搂的你说的权限是指什么的权限啊?
angelababa~ 2008-07-07
  • 打赏
  • 举报
回复
权限问题??

110,021

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧