Option Explicit
Dim qInfo As MSMQQueueInfo
Dim qObject As MSMQQueue
Dim qMessage As MSMQMessage
Private Sub Class_Initialize()
Dim obj_1 As Object
Set obj_1 = CreateObject("QueueClient.ApplyInfo")
Set qInfo = New MSMQQueueInfo
qInfo.PathName = ".\Private$\TestQueue"
qInfo.Label = "Test Queue"
Set qObject = qInfo.Open(MQ_RECEIVE_ACCESS, MQ_DENY_NONE)
Set qMessage = qObject.Receive(MQ_NO_TRANSACTION, False, True, 5)
MsgBox qMessage.Label
End If
NoMessage:
qObject.Close
Set qInfo = Nothing
Set qObject = Nothing
Set qMessage = Nothing
End Sub
龙卷风 我又遇到问题了,我怎么能让dll组件,一直运行在客户端,只要消息队列里一有消息就开始运行客户端组件啊?我上面的代码可对啊?我如何侦听啊?
Dim qInfo As MSMQQueueInfo
Dim qObject As MSMQQueue
Dim qMessage As MSMQMessage
Private Sub Class_Initialize()
Dim obj_1 As Object
Set obj_1 = CreateObject("QueueClient.ApplyInfo")
Set qInfo = New MSMQQueueInfo
qInfo.PathName = ".\Private$\TestQueue"
qInfo.Label = "Test Queue"
Set qObject = qInfo.Open(MQ_RECEIVE_ACCESS, MQ_DENY_NONE)
Set qMessage = qObject.Receive(MQ_NO_TRANSACTION, False, True, 5)
MsgBox qMessage.Label
End If
NoMessage:
qObject.Close
Set qInfo = Nothing
Set qObject = Nothing
Set qMessage = Nothing
End Sub
龙卷风 我又遇到问题了,我怎么能让dll组件,一直运行在客户端,只要消息队列里一有消息就开始运行客户端组件啊?我上面的代码可对啊?我如何侦听啊?
解决方案 »
- 高分求个VB写的语法分析代码(Basic)
- VB中的要使用键盘上的功能键如何表示?
- (北京)大量旧书出售,包括vb,vc,java,c#,delphi,linux,unix,ccna,sql service,oracle等计算机书,另外还有一些英语方面的比如新概念英语
- ◎◎◎◎◎◎急求水晶报表8.5下载!!◎◎◎◎◎◎◎◎
- 我的PC每个分区都有了\System Volume Information\的文件夹
- 如何屏蔽“窗体最大化”的功能
- 如何用程序打开和关闭外部EXE,还望指教!
- 怎样将SQL Server中的数据库备份到access库中?在线等待!!
- 给程序添加多个用户和密码,在程序执行过程中不仅要验证密码还要验证用户名的正确与否(提示:把用户名文本框改成组合框,这样可以选择用
- 帮忙?
- 小弟初学VB,请各位教教我这程序该怎么写啊?
- access数据库的密码如何修改,用代码
Private Sub qMSMQEvent_Arrived(ByVal Queue As Object, ByVal Cursor As Long)
End Sub用WithEvents你不是已经做成功了吗??
Private Sub qMSMQEvent_Arrived(ByVal Queue As Object, ByVal Cursor As Long) Set qInfo = New MSMQQueueInfo
qInfo.PathName = ".\Private$\TestQueue" qInfo.Label = "Test Queue" '这种方式会将消息队列中的消息删除 Set qObject = qInfo.Open(MQ_RECEIVE_ACCESS, MQ_DENY_NONE) Set qMessage = qObject.Receive(MQ_NO_TRANSACTION, False, True, 5) '这种方式不会删除消息队列中的消息 ' Set qObject = qInfo.Open(MQ_PEEK_ACCESS, MQ_DENY_NONE) ' Set qMessage = qObject.Peek(MQ_NO_TRANSACTION, False, True, 5) If qMessage Is Nothing Then MsgBox "消息队列中没有消息", vbInformation + vbOKOnly, "信息提示" GoTo NoMessage: Else 'lblMsgLabel.Caption = qMessage.Label 'lblMsgBody.Caption = qMessage.Body ' lblPriorityLevel.Caption = qMessage.Priority ' lblArrivalTime.Caption = qMessage.ArrivedTime
MsgBox qMessage.Label End If NoMessage: qObject.Close Set qInfo = Nothing Set qObject = Nothing Set qMessage = Nothing
End Sub没有任何反映啊
Set qMSMQEvent = New MSMQEvent
qObject.EnableNotification qMSMQEvent, MQMSG_CURRENT, 1000
Class_Initialize中连接事件你把文章仔细看一下
你先按我的例子调试通过,然后在转到组件中
请看msdn中的解释
上面这段 我不知道在什么地方执行。。