Hallo,
folgendes Problem.
Ich löse mittels Button einen Externen Programmaufruf aus, welcher nach dem .Start() nicht mehr unterbrochen werden kann. Zu dem Programmaufruf, übergebe ich noch parameter, wleche aus Textfeldern stammen.
1) Ich überprüfe ob die Textfelder einen Wert Enthalten, tut dies mindestens eines von beiden nicht, rufe ich eine MessaegeBox.Show() auf. Nun hätt ich gerne, das nach dem Klick auf den OK Button, das Programm für die eingabe der daten in die Textfelder unterbrochen wird. Wie kann ich dies realisieren.
If Me.TextBox1.Text = "" Then
EMsg = "Bitte wählen Sie eine datei aus" & Chr(10) & Chr(13)
End If
If Me.TextBox2.Text = "" Then
EMsg += "Bitte wählen Sie ein Zielverzeichnis"
End If
If EMsg IsNot Nothing Then
Result = MessageBox.Show(EMsg, "Datenangabefehler!", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
If Result = System.Windows.Forms.DialogResult.OK Then
'******************* Hier komme ich nichtt weiter, hier soll nun
' die unterbrechung rein, bis die Angaben gemacht
' wurden*************************
End If
End If 2) Bevor ich den .Start() auslöse, werfe ich noch eine Messagebox mit YesNo Button aus, in welche der Benutzer darauf hingewiesen wird, dass er die nahfolgende Aktion nicht mehr abbrechen kann und ob er diese Starten möchte. Nun möchte ich gerne, dass eben das Programm entsprechend Angehalten wird, wenn auf Nein geklickt wird.
Result = MessageBox.Show("Wollen Sie Wirklich fortfahren?" & Chr(10) & Chr(13) _
& "Der Prosess kann nicht mehr abgebrochen werden!", "Bitte Beachten Sie!", _
MessageBoxButtons.YesNo, MessageBoxIcon.Question, _
MessageBoxDefaultButton.Button2, MessageBoxOptions.DefaultDesktopOnly)
If Result = System.Windows.Forms.DialogResult.No Then
' *********** Hier Soll der Ablauf abgebrochen werden, das Programm
' jedoch weiter ausgeführt werden *************
End If
p.StartInfo.FileName = Me.winRarVerzeichnis.Text & "\MeinProgramm.exe"
PackPath = " e -kb """ & Me.TextBox1.Text & """ """ & Me.TextBox2.Text _
& """"
p.StartInfo.Arguments = PackPath
p.StartInfo.UseShellExecute = False
p.StartInfo.RedirectStandardOutput = True
p.StartInfo.CreateNoWindow = True
Dim sOutput As String
p.Start() Leider weiss ich nicht wie das geht. Ich habe es schon mit den verschiedensten Dingen versucht: mit Application.ExitThread() oder .Restart() alles von dem ich nur annähernd dache das es mit weiterhilft. Doch leirder ohne Erfolg.
Danke schon mal für eure Hilfe
Michael |