Flora Edwards
asked on
how to modify the VBScript so that it plays sound via Shell command default available player.
I had this question after viewing modifying VBScript to VBA.
i have this great master piece created by Bill and it works with windows 10 that has media player available in it. however, my machine is domain envi Enterprise Win10 and it does not have windows media player installed the default player is VLC for all type of sound players and it also have grove music player.
is there a possibility to modify the code so that it plays it with default player?
thank you.
i have this great master piece created by Bill and it works with windows 10 that has media player available in it. however, my machine is domain envi Enterprise Win10 and it does not have windows media player installed the default player is VLC for all type of sound players and it also have grove music player.
is there a possibility to modify the code so that it plays it with default player?
thank you.
'
' from Chip Pearson
' http://www.cpearson.com/excel/PlaySound.aspx
'
Public Declare Function sndPlaySound32 _
Lib "winmm.dll" _
Alias "sndPlaySoundA" ( _
ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
'SND_SYNC = &H0
'SND_ASYNC = &H1
'SND_NODEFAULT = &H2
'SND_MEMORY = &H4
'SND_LOOP = &H8
'SND_NOSTOP = &H10
Public Sub API_PlaySound(psFilename As String)
Call sndPlaySound32(psFilename, &H2 + &H1) 'SND_NODEFAULT + SND_ASYNC
End Sub
Public Sub PlayMySoundFile() 'change name to whatever you want
Dim sFile As String _
, sPathFile As String
sPathFile = "c:\path\myFile.wav" '------- change to name of your file
If Len(Dir(sPathFile)) > 0 Then
Call sndPlaySound32(sPathFile, &H2 + &H1) 'SND_NODEFAULT + SND_ASYNC
End If
End Sub
ASKER
Thank you Bill
ASKER
Crystal
i do not have the slightest idea how to incorporate the code you posted into the code given by Bill. the code below is VBScript encapsulated in hta form.
i do not have the slightest idea how to incorporate the code you posted into the code given by Bill. the code below is VBScript encapsulated in hta form.
<html>
<head>
<title>USB Drive Alert</title>
<hta:application
applicationname="USB Drive Alert"
id="usbalert"
border="dialog"
innerborder="no"
maximizebutton="no"
scroll="no"
version="1.0"/>
<!--Create handler for async event monitoring-->
<object ID="objSink" CLASSID="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223"></object>
<!--Create handler for event handler-->
<script language="vbscript" for="objSink" event="OnObjectReady(objEvent, objContext)">
Call objSinkOnObjectReady(objEvent, objContext)
</script>
<script language="vbscript">
Sub Window_OnLoad
' Size Window, position it
self.ResizeTo 600, 300
self.MoveTo 10, 10
' Create WMI object to monitor LogicalDisk events
Set objWMI = GetObject("winmgmts:\\.\root\cimv2")
strSql = "Select * From __InstanceOperationEvent Within 1 Where TargetInstance isa 'Win32_LogicalDisk'"
objWMI.ExecNotificationQueryAsync objSink, strSQL
End Sub
Sub ExitButton()
' Close window
window.Close
End Sub
Sub objSinkOnObjectReady(objEvent, objContext)
Const RemovableDisk = 2
' Only interested in removable disk events
If objEvent.TargetInstance.DriveType = RemovableDisk Then
' See what even this is and process if desired
Select Case objEvent.Path_.Class
' Drive added event
Case "__InstanceCreationEvent"
' Display message indicating drive added
StatusLine "Removable drive " & objEvent.TargetInstance.DeviceId & " has been added."
' Drive removed event
Case "__InstanceDeletionEvent"
' Display message indicating drive removed and play alarm sound
StatusLine "Removable drive " & objEvent.TargetInstance.DeviceId & " has been removed."
Alarm.play()
End Select
End If
End Sub
Sub StatusLine(strText)
' Add a line to the text message box
txtMessages.Value = txtMessages.Value & Now() & " - " & strText & vbCrLf
End Sub
</script>
</head>
<body>
<textarea id="txtMessages" readonly rows="10" cols="60"></textarea>
<p>
<input id="btnExit" style="width: 80px" type="button" value="Exit" name="exit_button" onClick="ExitButton">
<embed id="Alarm" name="Alarm" src=".\siren.wav" loop="false" hidden="true" autostart="false">
</body>
</html>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thank you very much Bill.
it worked like a magic. very much appreciated.
it worked like a magic. very much appreciated.
Welcome.
~bp
~bp
~bp