Prozesse finden, und MsgBox anzeigen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ~blaze~.

    Zum Beispiel mit nem Timer:

    VB.NET-Quellcode

    1. Class Form1
    2. Private WithEvents timer As Timer
    3. Sub New()
    4. timer = New Timer()
    5. timer.Intervall = 100 'überprüft jede 100 Millisekunde
    6. End Sub
    7. Sub Form1_Load() Handles MyBase.Load
    8. timer.Enable = True
    9. End Sub
    10. Sub timer_Tick() Handles timer.Tick
    11. If (Process.GetProcessesByName("") = Nothing) = False Then
    12. 'Prozess da
    13. timer.Stop()
    14. End If
    15. End Sub
    16. End Class


    Ausm Kopf geschrieben.
    Also, da du es ja scheinbar nicht kapiert hast (aufgrund deiner PN), hier eine Step-by-Step-Anleitung:
    • Du ziehst einen Timer auf deine Form, genau wie du das mit z.B. einem Button oder einer Picturebox machst.
    • Du klickst einmal auf den Timer und siehst in der Propertygrid (wo du z.B. den Text eines Button veränderst) die jeweiligen Eigenschaften für den Timer
    • Stell den Intervall ein. Pass auf: das ist in Milisekunden!
    • Mach Doppelklick auf den Timer bzw. wechsle in die Codeansicht
    • Schreibe nun rein:

      VB.NET-Quellcode

      1. If Process.GetProcessesByName("prozessname") IsNot Nothing Then
      2. 'Prozess da
      3. MessageBox.Show("Prozess ist da!")
      4. Timer.Stop()
      5. End If

    • Aktiviere den Timer, indem du die Property Enabled auf True setzt
    • Starte dein Projekt und du siehst was passierst

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

    Myrax schrieb:

    VB.NET-Quellcode

    1. If (Process.GetProcessesByName("prozessname") = Nothing) = False Then
    1. richtig:

    VB.NET-Quellcode

    1. If (Process.GetProcessesByName("prozessname") Is Nothing) = False Then
    2. besser:

    VB.NET-Quellcode

    1. If (Process.GetProcessesByName("prozessname") IsNot Nothing) Then
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hi
    Übrigens gibt Process.GetProcessesByName ein Array zurück. Das Array ist wenn dann leer und nicht Null. Wer auf Nummer sicher gehen will, überprüft übrigens noch den Pfad der Prozesse, bildet Hashes der Anwendungen und überprüft diese oder geht mit einer anderen Lösung auf Nummer sicher. Es wäre z.B. kein Problem, einen Prozess genauso zu nennen, wie Notepad.
    Ich habe mich noch nie damit befasst, daher habe ich jetzt keine elgante Lösung parat, aber es gibt vielleicht auch eine ohne Timer.

    Gruß
    ~blaze~