Using a DLL seems a little unnecessary. Why not just:
[tt]
Public 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
Private Sub Command1_Click()
ShellExecute Form1.hWnd, vbNullString, "mailto:michael.j.lacey@ntlworld.com?subject=Email from VB", vbNullString, vbNullString, SW_SHOWNORMAL
End Sub
[/tt]
Sometimes, simple is better. [sig]<a href=mailto:CraigL@bc-corp.com>CraigL@bc-corp.com</a><br>[/sig]