home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / sound / mcihelp / basmain.bas next >
Encoding:
BASIC Source File  |  1995-11-29  |  3.8 KB  |  85 lines

  1. Attribute VB_Name = "basMain"
  2. Option Explicit
  3.  
  4. Public SelOpt%  'Which option button is selected
  5. Public OnTop As Boolean 'Whether form stays on top or not
  6.     
  7. ' If Win16 evaluates as true,
  8. #If Win16 Then
  9.     Declare Function mciExecute Lib "mmsystem" (ByVal lpstrCommand As String) As Integer
  10.     Declare Function mciSendString Lib "mmsystem" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hWndCallback As Integer) As Long
  11.     Declare Function mciGetErrorString Lib "mmsystem" (ByVal wError As Long, ByVal lpstrBuffer As String, ByVal uLength As Integer) As Integer
  12.     Declare Sub SetWindowPos Lib "User" (ByVal hWnd As Integer, ByVal hWndInsertAfter As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer)
  13.     Public Const SWP_NOSIZE As Integer = &H1
  14.     Public Const SWP_NOMOVE As Integer = &H2
  15.     Public Const HWND_TOPMOST As Integer = -1
  16.     Public Const HWND_NOTOPMOST As Integer = -2
  17.  
  18. ' Otherwise, if it is a 32-bit Windows program,
  19. #ElseIf Win32 Then
  20.     Declare Function mciExecute Lib "WINMM.DLL" (ByVal lpstrCommand As String) As Long
  21.     Declare Function mciSendString Lib "WINMM.DLL" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hWndCallback As Long) As Long
  22.     Declare Function mciGetErrorString Lib "WINMM.DLL" Alias "mciGetErrorStringA" (ByVal dwError As Long, ByVal lpstrBuffer As String, ByVal uLength As Long) As Long
  23.     Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  24.     Public Const SWP_NOSIZE As Long = &H1
  25.     Public Const SWP_NOMOVE As Long = &H2
  26.     Public Const HWND_TOPMOST As Long = -1
  27.     Public Const HWND_NOTOPMOST As Long = -2
  28. #End If
  29.  
  30. Sub MMSend(cmd As String)
  31. Dim Ret1%, Ret2&, MLen1%, MLen2&, Msg$, MErr$
  32.  
  33. 'Use conditional compilation to control the value types being passed to the declares
  34.  
  35. Select Case SelOpt
  36.     
  37.     Case 0  'MciExcute is selected
  38.         #If Win16 Then
  39.             Ret1 = mciExecute(cmd) '16-bit declare requires an integer
  40.         #ElseIf Win32 Then
  41.             Ret2 = mciExecute(cmd)  '32-bit declare requires a long
  42.         #End If
  43.     Case 1  'MciSendString is selected
  44.         #If Win16 Then
  45.             With frmMain  'Clear the return text boxes
  46.                 .txt(1).Text = ""
  47.                 .txt(2).Text = ""
  48.                 .txt(3).Text = ""
  49.             End With
  50.             MLen2 = 255
  51.             Msg = String$(255, 0)
  52.             MErr = String$(255, 0)
  53.             'Assigns the return to Ret2
  54.                 Ret2 = mciSendString(cmd, Msg$, MLen&, frmMain.hWnd)
  55.             frmMain.txt(2).Text = Str$(Ret2) ' display error #
  56.             'Assigns the return to Ret1
  57.             MLen1 = 255
  58.             Ret1 = mciGetErrorString(Ret2, MErr$, MLen1)
  59.             With frmMain
  60.                 .txt(3).Text = Msg  ' display message string
  61.                 .txt(1).Text = MErr  ' Display error string
  62.             End With
  63.  
  64.         #ElseIf Win32 Then
  65.             With frmMain  'Clear the return text boxes
  66.                 .txt(1).Text = ""
  67.                 .txt(2).Text = ""
  68.                 .txt(3).Text = ""
  69.             End With
  70.             MLen2 = 255
  71.             Msg = String$(255, 0)
  72.             MErr = String$(255, 0)
  73.             Ret2 = mciSendString(cmd, Msg, MLen2, frmMain.hWnd)
  74.             frmMain.txt(2).Text = Str$(Ret2) ' display error #
  75.             Ret2 = mciGetErrorString(Ret2, MErr, MLen2)
  76.             With frmMain
  77.                 .txt(3).Text = Msg  ' display message string
  78.                 .txt(1).Text = MErr  ' Display error string
  79.             End With
  80.         #End If
  81. End Select
  82. End Sub
  83.  
  84.  
  85.