как отловить Процесс.Exited

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

student-uni
Бывалый
Бывалый
 
Сообщения: 242
Зарегистрирован: 01.10.2005 (Сб) 18:54

как отловить Процесс.Exited

Сообщение student-uni » 16.10.2006 (Пн) 14:18

есть такое событие Процесс.Exited а отловить его не получается

посмотрите пожалуиста код
может кто поимет в чем дело

спасибо

Код: Выделить всё
Dim WithEvents prc As Process
Dim handler As EventHandler

Private Sub Form_Load
        prc = New Process
        prc.StartInfo.FileName = "mstsc.exe"
        prc.StartInfo.Arguments = "c:\мy.rdp"
        AddHandler prc.Exited, handler

end Sub

Private Sub prc_Exited(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles prc.Exited
        MsgBox("Процесс прерван" )
End Sub

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 16.10.2006 (Пн) 14:39

Так ты бы его запустил... процесс то для начала
Весь мир матрица, а мы в нем потоки байтов!

student-uni
Бывалый
Бывалый
 
Сообщения: 242
Зарегистрирован: 01.10.2005 (Сб) 18:54

Сообщение student-uni » 16.10.2006 (Пн) 14:46

да запускаЮ

тут что то со статическим методом Process.Start
я похоже вешаюсь не на тот обьект ?

Код: Выделить всё
prc = New Process
                    prc = Process.Start(New ProcessStartInfo(strRasPfad, strCmdLine))

                    AddHandler prc.Exited, AddressOf subRemote

Private Sub subRemote(ByVal sender As Object, ByVal e As System.EventArgs)
        MsgBox("Kuku")
    End Sub

mdx
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 169
Зарегистрирован: 06.01.2006 (Пт) 18:13
Откуда: I'm from Russia!

Сообщение mdx » 16.10.2006 (Пн) 15:44

Код: Выделить всё
Dim prc As Process = Process.Start(New ProcessStartInfo("test.exe", ""))
AddHandler prc.Exited, New EventHandler(AddressOf OnExited)

...

Private Sub OnExited(ByVal sender As Object, ByVal e As System.EventArgs)
        MsgBox("Process exited")
End Sub

У меня так работает
This posting is provided "AS IS" with no warranties, and confers no rights.

Изображение

student-uni
Бывалый
Бывалый
 
Сообщения: 242
Зарегистрирован: 01.10.2005 (Сб) 18:54

Сообщение student-uni » 16.10.2006 (Пн) 19:44

Мистика ... Скопировал твой - Не работает.
Нотепад стартует а при выходе ничего нет

Попробуй пожалуйста то что у меня получилось :

Код: Выделить всё
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim prc As Process = Process.Start(New ProcessStartInfo("notepad.exe", ""))
        AddHandler prc.Exited, New EventHandler(AddressOf OnExited)


    End Sub

    Private Sub OnExited(ByVal sender As Object, ByVal e As System.EventArgs)
        MsgBox("Process exited")
    End Sub
End Class

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 16.10.2006 (Пн) 19:54

Dim prc As Process = Process.Start(New ProcessStartInfo("notepad.exe", ""))
prc.EnableRaisingEvents = True
AddHandler prc.Exited, New EventHandler(AddressOf OnExited)
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

student-uni
Бывалый
Бывалый
 
Сообщения: 242
Зарегистрирован: 01.10.2005 (Сб) 18:54

Сообщение student-uni » 16.10.2006 (Пн) 19:59

Аллилуййя !
Спасибо
Блин я когда через WithEvents пытался ВС мне говорил, что через RaisingEvents нужно, не допёр


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 109

    TopList