aweiss -<br><br>The answer to this is the same as opening a HTML document, or opening a .doc file, etc. You use the ShellExecute API, which uses the extension of the file you pass (.mp3, in your case) to open the default viewer for that file type.<br><br>So, for a MP3 file called GroovySong.mp3, if the user has Sonique as their default MP3 player, it'll start Sonique and pass your GroovySong.mp3 along for it to play. If the user had RealPlayer as their default MP3 player, it would use that program to play the song.<br><br><i>Here's the declare statement:</i><br><FONT FACE=monospace> Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long<br> Private Const SW_SHOWNORMAL = 1</font><br><br><i>And here's the call to it:</i><br><FONT FACE=monospace> Call ShellExecute(Me.hwnd, "open", MP3FilePath, vbNull, vbNull, SW_SHOWNORMAL)</font><br><br>Chip H.<br><br><br>