Programm im Hintergrund öffnen und nach 10 Sekunden schließen?

  • VB.NET

Es gibt 25 Antworten in diesem Thema. Der letzte Beitrag () ist von KleinGeo.

    das programm einfach minimiert starten und die eigenschaft ShowInTaskbar auf false setzten. um das ganze nach 10 sekunden zu schließen verwende einen Timer mit dem entsprechendem interval oder lasse eine variable sekundenweise hochzählen - ist sie >=10 dann schließe die application.

    KleinGeo schrieb:

    Hallo! :D
    Ich wollte fragen, wie man Programme im Hintergrund öffnen und nach 10 Sekunden schließen kann.

    Gruß, Georg



    Die frage ist bezogen auf externe Programme denk ich mal...

    MFG
    GOOGLE ist mein Meister :)

    FreakJNS schrieb:

    das programm einfach minimiert starten und die eigenschaft ShowInTaskbar auf false setzten. um das ganze nach 10 sekunden zu schließen verwende einen Timer mit dem entsprechendem interval oder lasse eine variable sekundenweise hochzählen - ist sie >=10 dann schließe die application.
    Kannst du mir bitte den Code nennen? Ich bin nämlich noch Anfänger. :D
    willst du DEIN Programm versteckt starten oder iein externes Programm (z.b. Paint, wasweißich)?

    code braucht das ganze nicht viel:
    die eigenschaften kannst du im designer der form verändern, auch den windowstate zum minimierten starten
    im timer_tick event eines timer mit dem interval von 10000 (also 10 sekunden) einfach "me.close" befehlen^^
    alternativ eine variable im timer_tick event hochzählen lassen und prüfen ob die zeit überschritten wurde - stichwort If-bedingung

    mehr code wirst du von mir nicht bekommen, da das ein absolutes anfängerproblem ist, dass man mit dieser "anleitung" sehr leicht lösen kann^^

    Externes Programm Programm

    Edit by der_Kurt: Vollzitat entfernt

    Ich meinte ein externes Programm, den ich normalerweise mit Process.Start öffnen würde.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    ok.. etwas eigeninitative ist beim programmieren ja schon gefordert^^ da ich soetwas noch nie gemacht habe und es ausprobieren wollte gebe ich mein ergebnis in form eines funsenden codes weiter...

    VB.NET-Quellcode

    1. Dim TmpProc As New Process
    2. WithEvents TmpTimer As New Timer
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. With TmpProc
    5. .StartInfo.WindowStyle = ProcessWindowStyle.Normal 'auf hidden stellen, so sieht man aber, dass es funktioniert
    6. .StartInfo.FileName = "c:\windows\notepad.exe"
    7. .Start()
    8. End With
    9. TmpTimer.Interval = 1000 'interval von 1sekunde
    10. TmpTimer.Start()
    11. End Sub
    12. Private Sub TmpTimer_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TmpTimer.Tick
    13. Static tmpCounter As Integer = 0 'static bedeutet, dass die variable ihren wert beim beenden des subs beibehält
    14. tmpCounter += 1 'die variable wird hochgezählt, jede sekunde um eins höher
    15. Me.Text = tmpCounter.ToString 'zur verdeutlichung^^
    16. If tmpCounter >= 10 Then 'ist die variable größer oder gleich 10 (=>10 sekunden vergangen) dann...
    17. If TmpProc.HasExited = False Then' prüfen ob der process nciht schon geschlossen wurde, zb mittels tastkmanager. verhindert fehler im programm!
    18. TmpProc.CloseMainWindow() '..wird der process geschlossen
    19. End If
    20. TmpTimer.Stop() '..und der timer gestoppt, da er nich mehr weiterlaufen muss
    21. Me.Text = "Ist geschlossen" 'zur verdeutlichung^^
    22. End If
    23. End Sub

    Funktioniert!

    Edit by der_Kurt: Vollzitat entfernt

    Toll, danke! Es funktioniert! :D
    Aber das mit dem Hidden klappt nicht! Man kann das Programm sehen! :(

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    Jetzt ließ dir die Zeile einfach mal durch bitte ...... ohne worte....(das Kommentar dahinter!!!!)
    GOOGLE ist mein Meister :)

    Alles gelesen!

    Edit by der_Kurt: Vollzitat entfernt

    Hab alles gelesen:

    VB.NET-Quellcode

    1. .StartInfo.WindowStyle = ProcessWindowStyle.Normal 'auf hidden stellen, so sieht man aber, dass es funktioniert

    Mein Code:

    VB.NET-Quellcode

    1. .StartInfo.WindowStyle = ProcessWindowStyle.Hidden

    Was mache ich falsch?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    VB.NET-Quellcode

    1. .StartInfo.WindowStyle = ProcessWindowStyle.Hidden

    müsste eigentlich hinhauen
    GOOGLE ist mein Meister :)
    Edit by der_Kurt: Vollzitat entfernt

    VB.NET-Quellcode

    1. .StartInfo.WindowStyle = ProcessWindowStyle.Hidden

    müsste eigentlich hinhauen[/quote]Tut es aber nicht! ;(

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    ähm wtf!?!
    in post #13 steht ein dickes "Funktioniert!"

    warum "haut" das jetzt auf einmal ncihtmehr hin??

    PS: du willst sicher, dass auch dein eigenes programm, welches den process startet etc unsichtbar ist?
    damit verweise ich auf post #6 ^^
    => im designer ein bisschen basteln