65.9K
CodeProject 正在变化。 阅读更多。
Home

VB.NET 中的 IBM Messenger

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.42/5 (8投票s)

2004年10月28日

1分钟阅读

viewsIcon

70163

downloadIcon

758

VB.NET 中的 IBM Messenger。

引言

想象一下,您可以使用一个简洁小巧的程序,向 AS400(或 I5)机器发送消息,并获得强大的消息传递功能。

工作原理

该程序使用 AS400(或 I5)中的“存储过程”向另一用户或所有用户发送消息。 您需要做的就是输入消息,选择收件人,然后点击“发送”按钮。 您可以保存消息或检索待发送的消息。 添加新的收件人就像填写一个输入框一样简单! 总而言之,该程序非常易于使用和操作。

关于代码的一些说明

  1. 以下是使用存储过程(SNDMSG)的主要技巧
    "CALL QSYS.QCMDEXC('" & StrCom & "'," & ParameterL & ")"

    CALL QSYS.QCMDEXC() 是一个函数,它允许您在 AS400(或 I5)中运行过程。 此函数接受两个参数

    1. 过程名称
    2. 过程长度

    以下是构建的过程

    "SNDMSG MSG('" & Messagetxt & "') TOUSR(" & Recepient & ")"

    变量 ParameterL 保持过程及其参数的长度。 一旦您构建了过程,那么 CALL QSYS.QCMDEXC() 就会执行它。 但是,设置一个过程以及过程及其参数的准确长度至关重要。

  2. 程序中的第二个技巧是嵌入的.wav 文件。 一旦您点击“发送”按钮,它就会发送消息并运行嵌入的.wav 文件。

    'Play Sound
    Private Declare Function PlaySound Lib "winmm.dll" (ByVal data() As Byte, _
          ByVal hMod As IntPtr, ByVal hwFlags As Integer) As Integer
     Private Const SND_ASYNC As Integer = &H1        'Play asynchronously
     Private Const SND_MEMORY As Integer = &H4       'Play wav in memory
    
     'The .wav will be stored in this byte array
     Private Shared ClickSound As Byte()
    
     Shared Sub New()
      'Get running assembly name
      Dim NameSpc As String = _
       Reflection.Assembly.GetExecutingAssembly().GetName().Name.ToString()
      'Look for the button click sound in the resource stream.
      Dim SoundFile As String
      Dim WavStrm As IO.Stream = _
       Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream( _
       NameSpc + "." + "DRIVEBY.WAV")
      'ReDim the byte array to be the size of the embedded .wav
      ReDim ClickSound(CType(WavStrm.Length, Integer))
      'Load the .wav from the stream into the byte array
      WavStrm.Read(ClickSound, 0, Int(CType(WavStrm.Length, Integer)))
     End Sub
    
     'Override the OnClick event to play the sound
     '  Protected Overrides Sub OnClick(ByVal ea As EventArgs)
     '  Call PlayWav(ClickSound)
     '  MyBase.OnClick(ea)
     ' End Sub
    
     'Play embedded .wav resource
     Public Sub PlayWav(ByVal WavResource As Byte())
      PlaySound(WavResource, IntPtr.Zero, SND_ASYNC Or SND_MEMORY)
     End Sub
© . All rights reserved.