2013-06-12 4 views
1

Как сохранить мой дочерний процесс, если мой основной или родительский процесс был убит, убит в диспетчере задач «деревом конечных процессов»?Сохранять дочерний процесс, если родительский процесс был убит

Private Sub Sexecute(ByVal exe As String) 
     Dim getPath As String = Application.StartupPath 
     Dim startInfo As New ProcessStartInfo 
     startInfo.FileName = exe 
     Process.Start(startInfo) 
    End Sub 

    ''System.Threading.Timer 
    Private Sub LockEpsonCallBack(ByVal state As Object) 
     '''Check if Tree Locker is in the process 
     Dim tlockerfound As Boolean 
     For Each list As Process In Process.GetProcessesByName("tlocker") 
      tlockerfound = False 
      If list.ProcessName = "tlocker" Then 
       tlockerfound = True 
       Exit For 
      End If 
     Next 
     If tlockerfound = False Then 
      Sexecute("tlocker.exe") 
     End If 
    End Sub 

Есть ли способ сделать это?

ответ

1

Я знаю, что вы можете установить поток на передний план (вместо фона), который делает то же самое. Я не уверен, что есть эквивалент для процесса, но вы можете увидеть, что происходит с помощью UseShellExecute или обернуть его в поток переднего плана.

+0

Я не использую «UseShellExecute», но я сомневаюсь, что это происходит, потому что, используя shellexecute в Delphi, он также закрывает дочерний процесс, когда родительский процесс был убит, спасибо за комментарий. – XXXXXXXXXXXXXX

Смежные вопросы