如何在.net程序中接收windows消息

wanliguout 2004-10-25 04:13:27
我想写关于串口通讯的程序,虽然可以拥win32 api ReadFile,可我不能老去ReadFile吧,我希望能够在串口中有内容时得到通知,请各位帮忙,谢谢
...全文
256 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
dazhu2 2004-10-26
  • 打赏
  • 举报
回复
没有接触过,帮你顶一下
张海霖 2004-10-26
  • 打赏
  • 举报
回复
wanliguout 2004-10-26
  • 打赏
  • 举报
回复
真的没更好的办法了吗
zhongwanli 2004-10-26
  • 打赏
  • 举报
回复
没这方面的研究,帮你顶吧
Yashmak 2004-10-26
  • 打赏
  • 举报
回复
用从NativeWindows中派生你的窗口,并且重写.WndProc方法
wanliguout 2004-10-26
  • 打赏
  • 举报
回复
我找到了答案
wanliguout 2004-10-25
  • 打赏
  • 举报
回复
那个mscomm挺烂的,在处理二进制报文很烦,而且感觉还有其他毛病,我在VC中都是自己通过多线程直接处理串口事件,可在.net下似乎这些东西都不可能了。
messagequeue是不是效率满低啊,而且这样做我需要混合编码吧,先用VC程序来处理串口事件,然后把收到的数据发过来,感觉有些浪费效率,而且是不是太麻烦了点啊,有没有直接一点的啊
xiaohutushen 2004-10-25
  • 打赏
  • 举报
回复
up
xiaoslong 2004-10-25
  • 打赏
  • 举报
回复
使用控件
hivak47 2004-10-25
  • 打赏
  • 举报
回复
用mscomm控件可以,用winapi也可以的。
wnlovezxm 2004-10-25
  • 打赏
  • 举报
回复
good!
xu123 2004-10-25
  • 打赏
  • 举报
回复
我还是比较喜欢直接调用winapi
happyjun2000 2004-10-25
  • 打赏
  • 举报
回复
新建一个专用队列:ydzjgqueue
发出消息:
MessageQueue myMq=new MessageQueue(@".\private$\ydzjgqueue");
myMq.Send(tempCmd.outputData,tempCmd.id.ToString(),System.Messaging.MessageQueueTransactionType.Automatic);
配置文件:
<add key="msmqPath" value=".\private$\ydzjgqueue"></add>

接收消息:
Dim MsgPath As String = System.Configuration.ConfigurationSettings.AppSettings("msmqPath")
Dim MsgQue As MessageQueue = New MessageQueue(MsgPath)

Dim Fmt As XmlMessageFormatter = CType(MsgQue.Formatter, XmlMessageFormatter)

If (Not MessageQueue.Exists(MsgPath)) Then
System.Messaging.MessageQueue.Create(MsgPath)
End If

''定义接收消息类型
Fmt.TargetTypeNames = New String() {"System.String,mscorlib"}

'' 添加消息接受到时的处理
AddHandler MsgQue.ReceiveCompleted, New ReceiveCompletedEventHandler(AddressOf OnReceiveCompleted)

''启动异步接收方式
MsgQue.BeginReceive()
jimh 2004-10-25
  • 打赏
  • 举报
回复
使用api可以,不过更好的办法是使用控件,例如mscomm控件
linaren 2004-10-25
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3401/3401234.xml?temp=.8315546

111,094

社区成员

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

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

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