• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1396
  • Last Modified:

How to check if MSMQ is installed on the system?

How to check if MSMQ is installed on the system? In my program, I need to check to see if MSMQ is installed. If yes, I need to create some message queue. Thanks!
0
waywaylu
Asked:
waywaylu
  • 2
1 Solution
 
mmendezsCommented:
Hope this helps:

http://support.gfi.com/manuals/en/me12/me12manual-1-53.html

Best regards
Mauricio
0
 
Ralf KlattPrincipal ConsultantCommented:
Hi,

If Visual Basic is a language you'd be able to work with I'd suggest the following code:


'========================================================================================================

Private Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000
Private Const MAX_MESSAGE_LENGTH = 512

Private Declare Function GetLastError Lib "kernel32" () As Long

Private Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" (ByVal dwFlags As Long, lpSource As Any, ByVal dwMessageId As Long, ByVal dwLanguageId As Long, ByVal lpBuffer As String, ByVal nSize As Long, Arguments As Long) As Long

Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long

Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long

Function IsMSMQAvailable() As Boolean
    Dim hModule As Long
    hModule = LoadLibrary("msmqocm.dll")
    If hModule > 32 Then
        FreeLibrary hModule
        IsMSMQAvailable = True
    Else
        IsMSMQAvailable = False
    End If
End Function

Private Function GetAPIErrorMessageDescription(ByVal ErrNumber As Integer) As String
    Dim sError As String * MAX_MESSAGE_LENGTH
    Dim lErrMsgLen As Integer '32 bit message identifier
    lErrMsgLen = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0, ErrNumber, 0, sError, MAX_MESSAGE_LENGTH, 0)
    If lErrMsgLen > 0 Then
        GetAPIErrorMessageDescription = sError
    End If
End Function


'========================================================================================================

You'd just have to call "If IsMSMQAvailable() Then ..."


Best regards,
Raisor
0
 
Ralf KlattPrincipal ConsultantCommented:
Hi,

@waywaylu ... thank you for having chosen my answer ... but, what was wrong with it? ... why that grade of "B"?


Best regards,
Raisor
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now