mpmichael
Goto Top

VB 2010 Express Wie kann ich laufende Prozesse auslesen

Hallo,

ich hoffe meine Frage ist nicht zu schwer. Wäre schön, wenn mir jemand helfen könnte, unter Umständen auch mit ggf einem Codebeispiel.

Ich muss beim Start meines VB Programms ermitteln, ob bereits ein spezielles Programm gestartet wurde. Ich nenne es mal "MyAppl".
Wie kann ich dies am einfachsten abfragen?

Hab mich bei msdn schon durch die Referenz gewühlt - aber das ist natürlich sehr aufwändig und war nicht erfolgreich.

Vielen Dank

mpmichael

Content-ID: 166909

Url: https://administrator.de/contentid/166909

Ausgedruckt am: 22.11.2024 um 16:11 Uhr

AndreasHoster
AndreasHoster 25.05.2011 um 15:52:17 Uhr
Goto Top
Zauberwort: WMI (Windows Management Instrumentation)

Beispiel (sucht Notepad.exe):
Module Module1
    Dim oWMI, oProc
    Dim i As Integer
    Sub Main()
        oWMI = GetObject("winmgmts:{(Security)}")  
        oProc = oWMI.ExecQuery("select * from win32_process where name='notepad.exe'")  
        i = 0
        For Each proc In oProc
            i = i + 1
        Next
        If i > 0 Then
            Console.WriteLine("Notepad schon gestartet")  
        End If
    End Sub

End Module
bastla
bastla 25.05.2011 um 15:55:43 Uhr
Goto Top
Hallo mpmichael!

Abgesehen von der "Allzweckwafffe WMI" face-wink gäbe es auch "GetProcessesByName" - das folgende Stück Code stammt von hier:
Private Function IsProcessOpen(ByVal ProcName As String) As Boolean
If Process.GetProcessesByName(ProcName).Length > 0 Then Return True
End Function
Grüße
bastla
AndreasHoster
AndreasHoster 25.05.2011 um 16:21:13 Uhr
Goto Top
Sieht schöner und kürzer aus, werde ich mir merken.
mpmichael
mpmichael 25.05.2011 um 16:37:16 Uhr
Goto Top
Hallo,

danke für die Antwort - ich werde mir die WMI mal genauer ansehen.
Grüße
mpmichael
mpmichael
mpmichael 25.05.2011 um 16:37:58 Uhr
Goto Top
Hallo Bastla,

klasse - und sehr kurz. Hab's schon getestet und es läuft auch.
Herzlichen Dank

mpmichael