Programm automatisch laufen lassen

Steusi

Nasenbär
Hallo, ich möchte mittels VB ein Programm ausführen, jedoch werden beim start des Programms 2 Abfragen gestartet.
Das erste aufpopende Fenster kann einfach mit ENTER bestätigt werden, sobald das gesehen ist öffnet sich ein 2. Fenster, wo 2mal TAB gedrückt werden muss und dann ENTER.
Ich dachte es wäre kein großes Problem, doch der Programmcode arbeitet zu "schnell", deshalb müsste ich eine kleine Pause von 1 Sekunde einbauen, in der Zeit würde das 2. Fenster aufpopen können oder?

Kann VB auch ein aktives Fenster erkennen?

Mein Code:
Code:
Public Class Form1
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Dim strEXE As String

            strEXE = "PFAD_zum_Programm"

            Shell(strEXE)


            My.Computer.Keyboard.SendKeys("{ENTER}")


            'Sleep(1000)
            My.Computer.Keyboard.SendKeys("{TAB}")
            My.Computer.Keyboard.SendKeys("{TAB}")
            My.Computer.Keyboard.SendKeys("{ENTER}")
            

            'My.Computer.Keyboard.SendKeys("%{F4}")

    End Sub
End Class
Das erste ENTER klicken funktioniert wurderbar, aber Sleep klappt nicht! Dann bleibt das Programm immer hängen.

Das Programm, welches ich ausführe erzeugt Excel-Tabellen, sobald es fertig ist soll das Programm wieder geschlossen werden wie realisiere ich das? Ich muss nicht unbedingt gucken, ob der Prozess wirklich beendet ist, würde auch wieder ein Timer von 2 Sekunden reichen, mich interessiert nur wie ich dem aktiven Porgramm sage, dass es geschlossen werden soll!
 
Du programmierst in einer VB .NET-Sprache, da bist Du in diesem Forum falsch. Poste nochmal im .NET-Forum, da sitzen die .NET-Freaks.
 

Neue Beiträge

Zurück