Показать полную графическую версию : [решено] Завершение процесса
Подскажите, как завершить процесс?
Спрашиваю, потому что после:
ProcessClose("IExplore.exe")
Function ProcessClose(sProcName)
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '" & sProcName & "'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
End Function
программа считает, что был сбой, и предлагает выполнить определенные действия. Как можно не "убить" процесс, а послать сигнал завершения (аналогично нажатию красного крестика справа вверху)?
Обошелся WshShell.Run("taskkill /IM iexplore.exe"), но выскакивает консольное окошко, неэстетично как-то..
d_u, попробуй так:
WshShell.Run "taskkill /IM iexplore.exe", 0
Здравствуйте, а как будет выглядеть этот скрипт на JS?
POOLEET,
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.Run("taskkill /IM iexplore.exe", 0);
После завершения задачи, неоходимо псмотреть все запущенные процессы, но эта команда запускается очень быстро и просмотреть результат ее выполнения не получается
WshShell.Run("tasklist ");
Как остановить выполнение этой команды и увидеть запущенные процессы?
POOLEET,
можно сделать таким образом:
модификация post#1
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process")
On Error Resume next
For Each objProcess in colProcessList
If objProcess.Name = "iexplore.exe" Then
objProcess.Terminate()
count = count+1
strtask = "Было завершено " & count & " экземпляра (ов) процесса "& objProcess.Name
Else
If stingle Then
strproc= strproc & objProcess.Name & " " & vbTab
stingle = False
Else
strproc= strproc & objProcess.Name & vbTab & Vbcrlf
stingle = True
End if
End if
Next
Wscript.Echo "Список запущенных процессов:" _
& vbcrlf & strproc & vbcrlf & strtask
модификация post#7 для просмотра в cmd
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.Run("cmd /k tasklist | More ", 1);
Вариация на тему post#7 для просмотра результата в текстовом файле
var WshShell = new ActiveXObject("WScript.Shell");
var fso = new ActiveXObject("Scripting.FileSystemObject");
var log = fso.openTextFile("c:\\tasklog.txt", 2, true);
var oExec = WshShell.Exec("cmd /k Echo off");
var InStream = oExec.StdIn;
oExec.StdIn.WriteLine ("Chcp 1251 & Cls");
oExec.StdIn.WriteLine ("tasklist & Cls");
oExec.StdIn.WriteLine ("exit");
var TextStream = oExec.StdOut
while (!TextStream.AtEndOfStream)
{
var Str = TextStream.Readline();
log.WriteLine(Str);
}
log.Close();
var oExec = WshShell.Exec("notepad.exe c:\\tasklog.txt");
while (oExec.Status == 0)
{
WScript.Sleep(100);
}
flog = fso.GetFile("c:\\tasklog.txt");
var BtnCode = WshShell.Popup ("Удалить log-файл?", 0, "tasklog:", 4 + 32);
switch(BtnCode) {
case 6:
flog.Delete();
break;
case 7:
break;
}
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.