VB.NET class for running process/application as background thread:
Public Class Shell
Private Process1 As Process = New Process()
Sub New()
End Sub
Public ReadOnly Property Active() As Boolean
Get
Return Process1.HasExited
End Get
End Property
Public Sub Run(ByVal sProcessPath As String, ByVal sArguments As String)
Process1.StartInfo.FileName = sProcessPath
Process1.StartInfo.WindowStyle = ProcessWindowStyle.Minimized
Process1.StartInfo.CreateNoWindow = False
Process1.StartInfo.UseShellExecute = True
Process1.EnableRaisingEvents = True
Process1.StartInfo.Arguments = sArguments
Try
'Start Process
Process1.Start()
Wait()
Catch ex As Exception
MsgBox(ex.Message)
Finally
Process1.Close()
End Try
End Sub
Private Sub Wait()
If Not Process1.HasExited Then
System.Threading.Thread.Sleep(1000)
End If
End Sub
End Class
Example for transparent printing txt file:
Dim sproc As New Shell
sproc.Run("notepad", " /p c:\test\example.txt" )
Example for transparent printing pdf file with FoxitReader :
Dim pdfAppPath as String = String.Empty
Dim progamsfolder As String = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)
If File.Exists(progamsfolder & "\Foxit\FoxitReader.exe") Then pdfAppPath = progamsfolder & "\Foxit\FoxitReader.exe"
Dim sproc As New Shell
sproc.Run(pdfAppPath, " /p c:\test\example.pdf")