Joe:
Try this class:
Imports System.Diagnostics
Imports System.IO
Public Class ShellDocument
Private Declare Function FindExecutable Lib "shell32.dll" Alias
"FindExecutableA" _
(ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult
As System.Text.StringBuilder) As Integer
Public Shared Function Start(ByVal fileName As String) As Process
Dim sExeName As String = ""
Dim sTempFile As String = Path.GetTempPath() +
Guid.NewGuid.ToString("B") + ".htm"
Dim oFile As New FileStream(sTempFile, IO.FileMode.Create,
IO.FileAccess.Write, IO.FileShare.Write)
Try
Dim oStr As New System.Text.StringBuilder
oStr.Append(Chr(32), 254)
Dim iResult As Integer = FindExecutable(sTempFile, "", oStr)
sExeName = oStr.ToString()
Finally
oFile.Close()
IO.File.Delete(sTempFile)
End Try
Dim info As New System.Diagnostics.ProcessStartInfo(sExeName)
info.Arguments = fileName
Return System.Diagnostics.Process.Start(info)
End Function
End Class
Shariq Khan
(e-mail address removed)