下面是一个简单的例子供参考;
1
using System;2
using System.Drawing;3
using System.Collections;4
using System.ComponentModel;5
using System.Windows.Forms;6
using MSMQ;7
namespace MyTest8


{9

/**//// <summary>10
/// Form2 的摘要说明。11
/// </summary>12
public class Form2 : System.Windows.Forms.Form13

{14

Forms#region Forms15
private System.Windows.Forms.GroupBox groupBox1;16
private System.Windows.Forms.Label label1;17
private System.Windows.Forms.Label label2;18
private System.Windows.Forms.Label label3;19
private System.Windows.Forms.GroupBox groupBox2;20
private System.Windows.Forms.TextBox txthost;21
private System.Windows.Forms.TextBox txtpath;22
private System.Windows.Forms.RadioButton trans1;23
private System.Windows.Forms.RadioButton trans2;24
private System.Windows.Forms.GroupBox groupBox3;25
private System.Windows.Forms.Label label4;26
private System.Windows.Forms.Button button1;27
private System.Windows.Forms.Label label5;28
private System.Windows.Forms.Button button2;29
private System.Windows.Forms.TextBox txtmsg;30
private System.Windows.Forms.TextBox txtrece;31

/**//// <summary>32
/// 必需的设计器变量。33
/// </summary>34
private System.ComponentModel.Container components = null;35

36
public Form2()37

{38
//39
// Windows 窗体设计器支持所必需的40
//41
InitializeComponent();42

43
//44
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码45
//46
}47

48

/**//// <summary>49
/// 清理所有正在使用的资源。50
/// </summary>51
protected override void Dispose( bool disposing )52

{53
if( disposing )54

{55
if(components != null)56

{57
components.Dispose();58
}59
}60
base.Dispose( disposing );61
}62
#endregion 63

64

Windows 窗体设计器生成的代码#region Windows 窗体设计器生成的代码65

/**//// <summary>66
/// 设计器支持所需的方法 - 不要使用代码编辑器修改67
/// 此方法的内容。68
/// </summary>69
private void InitializeComponent()70

{71
this.groupBox1 = new System.Windows.Forms.GroupBox();72
this.groupBox2 = new System.Windows.Forms.GroupBox();73
this.trans2 = new System.Windows.Forms.RadioButton();74
this.trans1 = new System.Windows.Forms.RadioButton();75
this.label3 = new System.Windows.Forms.Label();76
this.txtpath = new System.Windows.Forms.TextBox();77
this.label2 = new System.Windows.Forms.Label();78
this.txthost = new System.Windows.Forms.TextBox();79
this.label1 = new System.Windows.Forms.Label();80
this.groupBox3 = new System.Windows.Forms.GroupBox();81
this.button2 = new System.Windows.Forms.Button();82
this.txtrece = new System.Windows.Forms.TextBox();83
this.label5 = new System.Windows.Forms.Label();84
this.button1 = new System.Windows.Forms.Button();85
this.txtmsg = new System.Windows.Forms.TextBox();86
this.label4 = new System.Windows.Forms.Label();87
this.groupBox1.SuspendLayout();88
this.groupBox2.SuspendLayout();89
this.groupBox3.SuspendLayout();90
this.SuspendLayout();91
// 92
// groupBox193
// 94
this.groupBox1.Controls.Add(this.groupBox2);95
this.groupBox1.Controls.Add(this.label3);96
this.groupBox1.Controls.Add(this.txtpath);97
this.groupBox1.Controls.Add(this.label2);98
this.groupBox1.Controls.Add(this.txthost);99
this.groupBox1.Controls.Add(this.label1);100
this.groupBox1.Location = new System.Drawing.Point(8, 8);101
this.groupBox1.Name = "groupBox1";102
this.groupBox1.Size = new System.Drawing.Size(352, 120);103
this.groupBox1.TabIndex = 0;104
this.groupBox1.TabStop = false;105
this.groupBox1.Text = "MSMQ Configuration";106
// 107
// groupBox2108
// 109
this.groupBox2.Controls.Add(this.trans2);110
this.groupBox2.Controls.Add(this.trans1);111
this.groupBox2.Location = new System.Drawing.Point(104, 72);112
this.groupBox2.Name = "groupBox2";113
this.groupBox2.Size = new System.Drawing.Size(144, 40);114
this.groupBox2.TabIndex = 5;115
this.groupBox2.TabStop = false;116
// 117
// trans2118
// 119
this.trans2.Checked = true;120
this.trans2.Location = new System.Drawing.Point(72, 16);121
this.trans2.Name = "trans2";122
this.trans2.Size = new System.Drawing.Size(64, 19);123
this.trans2.TabIndex = 1;124
this.trans2.TabStop = true;125
this.trans2.Text = "true";126
// 127
// trans1128
// 129
this.trans1.Location = new System.Drawing.Point(8, 16);130
this.trans1.Name = "trans1";131
this.trans1.Size = new System.Drawing.Size(48, 19);132
this.trans1.TabIndex = 0;133
this.trans1.Text = "true";134
// 135
// label3136
// 137
this.label3.Location = new System.Drawing.Point(8, 88);138
this.label3.Name = "label3";139
this.label3.Size = new System.Drawing.Size(88, 23);140
this.label3.TabIndex = 4;141
this.label3.Text = "Transactional";142
// 143
// txtpath144
// 145
this.txtpath.Location = new System.Drawing.Point(72, 48);146
this.txtpath.Name = "txtpath";147
this.txtpath.Size = new System.Drawing.Size(176, 21);148
this.txtpath.TabIndex = 3;149
this.txtpath.Text = "Private$\\test";150
// 151
// label2152
// 153
this.label2.Location = new System.Drawing.Point(8, 48);154
this.label2.Name = "label2";155
this.label2.Size = new System.Drawing.Size(48, 23);156
this.label2.TabIndex = 2;157
this.label2.Text = "Path";158
// 159
// txthost160
// 161
this.txthost.Location = new System.Drawing.Point(72, 24);162
this.txthost.Name = "txthost";163
this.txthost.Size = new System.Drawing.Size(176, 21);164
this.txthost.TabIndex = 1;165
this.txthost.Text = "127.0.0.1";166
// 167
// label1168
// 169
this.label1.Location = new System.Drawing.Point(8, 24);170
this.label1.Name = "label1";171
this.label1.Size = new System.Drawing.Size(48, 23);172
this.label1.TabIndex = 0;173
this.label1.Text = "Host";174
// 175
// groupBox3176
// 177
this.groupBox3.Controls.Add(this.button2);178
this.groupBox3.Controls.Add(this.txtrece);179
this.groupBox3.Controls.Add(this.label5);180
this.groupBox3.Controls.Add(this.button1);181
this.groupBox3.Controls.Add(this.txtmsg);182
this.groupBox3.Controls.Add(this.label4);183
this.groupBox3.Location = new System.Drawing.Point(8, 136);184
this.groupBox3.Name = "groupBox3";185
this.groupBox3.Size = new System.Drawing.Size(352, 176);186
this.groupBox3.TabIndex = 1;187
this.groupBox3.TabStop = false;188
this.groupBox3.Text = "MSMQ Test";189
// 190
// button2191
// 192
this.button2.Location = new System.Drawing.Point(280, 56);193
this.button2.Name = "button2";194
this.button2.Size = new System.Drawing.Size(56, 23);195
this.button2.TabIndex = 6;196
this.button2.Text = "&Receive";197
this.button2.Click += new System.EventHandler(this.button2_Click);198
// 199
// txtrece200
// 201
this.txtrece.Location = new System.Drawing.Point(8, 78);202
this.txtrece.Multiline = true;203
this.txtrece.Name = "txtrece";204
this.txtrece.Size = new System.Drawing.Size(336, 90);205
this.txtrece.TabIndex = 5;206
this.txtrece.Text = "Hello World ";207
// 208
// label5209
// 210
this.label5.Location = new System.Drawing.Point(8, 56);211
this.label5.Name = "label5";212
this.label5.Size = new System.Drawing.Size(112, 23);213
this.label5.TabIndex = 4;214
this.label5.Text = "Receive Message";215
// 216
// button1217
// 218
this.button1.Location = new System.Drawing.Point(280, 24);219
this.button1.Name = "button1";220
this.button1.Size = new System.Drawing.Size(56, 23);221
this.button1.TabIndex = 3;222
this.button1.Text = "&Send";223
this.button1.Click += new System.EventHandler(this.button1_Click);224
// 225
// txtmsg226
// 227
this.txtmsg.Location = new System.Drawing.Point(104, 24);228
this.txtmsg.Name = "txtmsg";229
this.txtmsg.Size = new System.Drawing.Size(168, 21);230
this.txtmsg.TabIndex = 2;231
this.txtmsg.Text = "Hello World ";232
// 233
// label4234
// 235
this.label4.Location = new System.Drawing.Point(8, 24);236
this.label4.Name = "label4";237
this.label4.Size = new System.Drawing.Size(96, 23);238
this.label4.TabIndex = 0;239
this.label4.Text = "Send Message";240
// 241
// Form2242
// 243
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);244
this.ClientSize = new System.Drawing.Size(368, 318);245
this.Controls.Add(this.groupBox3);246
this.Controls.Add(this.groupBox1);247
this.Name = "Form2";248
this.Text = "Form2";249
this.Load += new System.EventHandler(this.Form2_Load);250
this.groupBox1.ResumeLayout(false);251
this.groupBox2.ResumeLayout(false);252
this.groupBox3.ResumeLayout(false);253
this.ResumeLayout(false);254

255
}256
#endregion257

258
MSMQ.MSMQQueueInfoClass mqinfor=new MSMQQueueInfoClass();259
private void Form2_Load(object sender, System.EventArgs e)260

{261
262
263
}264

265
private void button1_Click(object sender, System.EventArgs e)266

{267
mqinfor.FormatName="Direct=TCP:" + this.txthost.Text + "\\" + this.txtpath.Text; 268
MSMQ.MSMQQueue mq=mqinfor.Open(MSMQ.MQACCESS.MQ_SEND_ACCESS.GetHashCode(),MSMQ.MQSHARE.MQ_DENY_NONE.GetHashCode());269
MSMQ.MSMQMessageClass msg=new MSMQMessageClass();270
msg.Label="activeX Test";271
msg.Body=this.txtmsg.Text;272
273
MSMQ.MSMQTransactionClass MQ_NO_TRANSACTION=new MSMQTransactionClass();274
275
object a=MQ_NO_TRANSACTION;276
msg.Send(mq,ref a);277
278

279
}280

281
private void button2_Click(object sender, System.EventArgs e)282

{283
try284

{285
mqinfor.FormatName="Direct=TCP:" + this.txthost.Text + "\\" + this.txtpath.Text; 286
287
MSMQ.MSMQQueue mq=mqinfor.Open(MSMQ.MQACCESS.MQ_RECEIVE_ACCESS.GetHashCode(),MSMQ.MQSHARE.MQ_DENY_NONE.GetHashCode());288
289
MSMQ.MSMQTransactionClass MQ_NO_TRANSACTION=new MSMQTransactionClass();290
object a=MQ_NO_TRANSACTION;291
bool WantDestinationQueue=false;292
object b=WantDestinationQueue;293
bool WantBody =true;294
object c=WantBody;295
long ReceiveTimeout =100;296
object d=ReceiveTimeout;297
bool WantConnectorType=false;298
object e1=WantConnectorType;299
MSMQ.MSMQMessage msg=mq.Receive(ref a,ref b,ref c,ref d,ref e1);300
this.txtrece.Text=DateTime.Now.ToString() + " " + msg.Body.ToString();301
}302
catch(Exception e2)303

{304
MessageBox.Show(e2.Message);305
}306
}307
}308
}309
