Jump to content

VBS if abfrage


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo

 

kann mir von euch einer sagen warum die if abfrage nicht funktioniert? wenn der calculator gestartet ist kommt die msgbox "calc.exe" wenn er nicht gestartet ist sollte die meldung "und draussen" kommen, kommt aber nicht. kann da jemand helfen.

 

 

 

  strComputer = "computer"
  strProcess01 = "calc.exe"
  strProcess02 = "wordpad.exe"

  Set oShell = CreateObject("WScript.Shell")

   Set colMonitoredEvents = GetObject("winmgmts:")._
   ExecNotificationQuery("Select * from Win32_PowerManagementEvent")

 do
   Set objWMIService = GetObject("winmgmts:" _
   & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

  Set colProcesses = objWMIService.ExecQuery _
     ("Select * from Win32_Process Where Name='" & strProcess01 & "' OR Name='" & strProcess02 & "'")



  For Each objProcess in colProcesses

    if objProcess.name = "calc.exe" Then

       Wscript.Sleep 1000
       msgbox objProcess.name


    else

       Wscript.Sleep 1000
       msgbox "und draussen"



    end if
  next
loop

Geschrieben

Moin,

 

fragen wir mal andersrum: Was willst du denn eigentlich erreichen? Dein Skript ist sehr umständlich. Bevor wir nun daran herumdoktern, wäre es sinnvoller, gleich über deine tatsächliche Anforderung zu sprechen.

 

Gruß, Nils

Geschrieben

Hallo Danke für die Antworten,

 

Das mit dem For Each wusste ich nicht, aber danke schön jetzt weiss ich warum es nicht geht.

 

Zu der Funktion, wenn Windows aus dem Standby kommt soll das Script ein Programm starten wenn es noch nicht gestartet ist. Dann soll es noch vom Antivir das Werbefenster automatisch zu machen. Es sind zwei unabhängige Scripte die ich zusammen fügen wollte.

Jedes Script ansich funktioniert, bin nur an dem For Each hängen geblieben.

 

Eine Frage habe ich nich kann ich mir den Inhalt des "colProcesses" in einer MSGBOX anzeigen lassen?

 

Danke

Geschrieben

Eine Frage habe ich nich kann ich mir den Inhalt des "colProcesses" in einer MSGBOX anzeigen lassen?

 

Welchen Inhalt? Nur die Namen der Prozesse?

Z.B.:

strProc=""
For Each objProcess in colProcesses
 strProc = strProc & objProcess.name & chr(13)
Next
MsgBox strProc

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...