perjantai 6. kesäkuuta 2014

VB.net - ProcessExited

On tilanteita, että tarvii tulosta loopissa useita PDF-tiedostoja. 
Tässä siihen koodinpätkä, joka aloittaa uuuden prosessin suorituksen vasta edellisen päätyttyä:
Kutsu loopissa Print_process().
Adobe jää auki, vaikka prosessi suljetaan, joten se on suljettava erikseen loopin jälkeen.



Private Sub Print_process(file_name As String)
 

        'Määrittele prosessi
        Dim MyProcess As New Process
        MyProcess.StartInfo.CreateNoWindow = False
        MyProcess.StartInfo.Verb = "print"
        MyProcess.StartInfo.FileName = file_name

        'Lisää prosessille Event handler ja salli Eventit
        MyProcess.EnableRaisingEvents = True
        AddHandler MyProcess.Exited, AddressOf Me.ProcessExited
        MyProcess.Start()
 

End Sub

Friend Sub ProcessExited(ByVal sender As Object, ByVal e As System.EventArgs)
      

       ' Event handler tulostusprosessille: Kun MyProcess.Exited tapahtuu,
       ' niin suljetaan prosessi
        Dim myProcess As Process = DirectCast(sender, Process)
        Debug.Print("Työkortti " & Me.file_name & " tulostuprosessi, Event = _ 

                         & ProcessExited!")
        myProcess.Close()


    End Sub


Ei kommentteja:

Lähetä kommentti