25. marts 2010 - 08:38Der er
10 kommentarer og 1 løsning
Loop der tjekker om program køre?
Hejsa eksperter,
Jeg mangler et .vbs script der tjekker om 'minfil.exe' køre, så snart minfil.exe bliver lukket så skal scriptet kører en batfil.
Jeg tror det jeg skal have fat i er et script der hvert sekund kigger om minfil.exe stadig kører, og når denne process er helt død opstartes den batfil.
Har selv prøvet på noget, men det går helt den forkerte vej!
Option Explicit Dim objWMIService, objProcess, colProcess Dim strComputer, strList
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Dim notFound While True notFound = true For Each Process In GetObject("winmgmts:").InstancesOf("win32_process") If StrComp(Left(Process.Name, 10), "minfil.exe", 1) = 0 Then notFound = false End If Next If notFound Then Set WshShellObj = WScript.CreateObject("WScript.Shell") WshShellObj.Run ("calc.exe" ) End If WScript.Sleep 2000 Wend
Sorry, det var jo 'minfil.exe' der sku startes.. Ny version:
Dim Found While True Found = false For Each Process In GetObject("winmgmts:").InstancesOf("win32_process") If StrComp(Left(Process.Name, 10), "calc.exe", 1) = 0 Then Found = True End If Next If not Found Then Set WshShellObj = WScript.CreateObject("WScript.Shell") WshShellObj.Run ("calc.exe" ) End If WScript.Sleep 2000 Wend
Dim Found While True Found = false For Each Process In GetObject("winmgmts:").InstancesOf("win32_process") If StrComp(Left(Process.Name, 10), "minfil.exe", 1) = 0 Then Found = True End If Next If not Found Then Set WshShellObj = WScript.CreateObject("WScript.Shell") WshShellObj.Run ("minfil.exe" ) End If WScript.Sleep 2000 Wend
Lige til at starte med, hvordan stopper man et vbs script igen ;)
- Kan være jeg har fået det hele lidt forkert ud. Det der skal ske er at jeg starter min vbs fil som så kigger een gang i sekundet efter om en process er lukket, er den ikke lukket så venter den stadig videre. Første gang den finder ud af at processen er lukket stopper vbs filen og en andet program starter.
Dim Found While True Found = false For Each Process In GetObject("winmgmts:").InstancesOf("win32_process") If StrComp(Left(Process.Name, 10), "calc.exe", 1) = 0 Then Found = True End If Next If not Found Then Set WshShellObj = WScript.CreateObject("WScript.Shell") WshShellObj.Run ("notepad" ) WScript.Quit End If WScript.Sleep 2000 Wend
Dim Found While True Found = false For Each Process In GetObject("winmgmts:").InstancesOf("win32_process") If StrComp(Left(Process.Name, 10), "miranda32.exe", 1) = 0 Then Found = True End If Next If not Found Then Set WshShellObj = WScript.CreateObject("WScript.Shell") WshShellObj.Run ("hello.bat" ) WScript.Quit End If WScript.Sleep 2000 Wend
men alligevel kommer hello.bat op med det samme, selvom miranda32.exe kører, har du en ide? Prøvede med calc.exe og der virker det fint. hmm
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.