Здасте всем, у меня возникла ошибка индекс выходит за пределы (86,2) помогите пожалуйста её исправить. Вот код: | Код | var WMI,Processes,Process,UserModeTime; var Proc_UserModeTime = new Array; fso= WScript.CreateObject("Scripting.FileSystemObject"); shell=WScript.CreateObject("WScript.Shell"); var Count; WMI=GetObject("winMgmts:"); Processes=new Enumerator(WMI.ExecQuery("SELECT * FROM Win32_Process")); //Получение списка запущенных процессов var max = 0; while (!Processes.atEnd()) { Process = Processes.item(); if (Process.UserModeTime > max) { max = Process.UserModeTime; }; Processes.moveNext(); };
if (WScript.Arguments.Count()==0) { WScript.Echo("максимальное время в пользовательском режиме: ",max); WScript.Echo("номер версии Windows: ",Process.WindowsVersion); WScript.Echo("приоритет процесса: ",Process.Priority); WScript.Echo("PID процесса: ",Process.ProcessId); WScript.Echo("название операционной системы: ",Process.OSName); WScript.Echo("полный путь к исполняемому файлу процесса: ",Process.ExecutablePath); WScript.Echo("дата и время начала выполнения процесса: ",Process.CreationDate); } else { for(i=0;i<WScript.Arguments.Count();i++) { if (WScript.Arguments(i)=="/win") WScript.Echo("Номер ОС",Process.WindowsVersion); if (WScript.Arguments(i)=="/p") WScript.Echo("Приоритет процесса",Process.Priority); if (WScript.Arguments(i)=="/Id") WScript.Echo("ID процесса",Process.ProcessId); if (WScript.Arguments(i)=="/nameOS") WScript.Echo("Название ОС",Process.OSName); if (WScript.Arguments(i)=="/path") WScript.Echo("Путь процесса",Process.ExecutablePath); if (WScript.Arguments(i)=="/date") WScript.Echo("Дата",Process.CreationDate); if (WScript.Arguments(i)=="/all") { WScript.Echo("Название ОС",Process.OSName); WScript.Echo("Номер ОС",Process.WindowsVersion); WScript.Echo("Приоритет процесса",Process.Priority); WScript.Echo("ID процесса",Process.ProcessId); WScript.Echo("Путь процесса",Process.ExecutablePath); WScript.Echo("Дата",Process.OSName); }
if (WScript.Arguments(i)=="/h") WScript.Echo("Данная программа, используя средства WMI определяет процессы с максимальным временем в пользовательском режиме и выводит его имя (и характеристики).\nПараметры:\n/html вывод результатов в html-файл\n/xml вывод результатов в xml-файл\n/win номер версии Windows\n/p приоритет\n/Id Id процесса\n/path полный путь к исполняемому файлу процесса\n/date дата\n/all все характеристики процесса, предусмотренные программой\n"); if (WScript.Arguments(i)=="/html") { fso.CreateTextFile("file.html",true,true); f=fso.OpenTextFile("file.html",2); f.WriteLine("<html><head><title>Характеристики процесса с максимальным временем в пользовательском режиме</title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">"); f.WriteLine("</head><body bgcolor=\"#CCCCCC\"><p align=\"center\"><font size=\"5\" face=\"Times New Roman, Times, serif\">процессы"); f.WriteLine(" с максимальным временем в пользовательском режиме:</font></p><p> </p><table width=\"56%\" border=\"3\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#FACC66\">"); f.WriteLine("<tr><td width=\"68%\">Описание процесса</td><td width=\"32%\">"+Process.Caption+"</td></tr>"); f.WriteLine("<tr><td>приоритет процесса</td><td>"+Process.Priority+"</td></tr>"); f.WriteLine("<tr><td>Имя процесса</td><td>"+Process.Name+"</td></tr>"); f.WriteLine("<tr><td>максимальное время в пользовательском режиме</td><td>"+max+" </td></tr>"); f.WriteLine("<tr><td>версия Windows</td><td>"+Process.WindowsVersion+" </td></tr>"); for(i=0;i<WScript.Arguments.Count();i++) { if (WScript.Arguments(i)=="/win") f.WriteLine("<tr><td>Номер версии Windows</td><td>"+Process.WindowsVersion+"</td></tr>"); if (WScript.Arguments(i)=="/date") f.WriteLine("<tr><td>Дата и время начала выполнения процесса</td><td>"+Process.CreationDate); if (WScript.Arguments(i)=="/path") f.WriteLine("<tr><td>Полный путь к исполняемому файлу процесса</td><td>"+Process.ExecutablePath+"</td></tr>"); if (WScript.Arguments(i)=="/id") f.WriteLine("<tr><td>PID процесса</td><td>"+Process.ProcessId+"</td></tr>"); if (WScript.Arguments(i)=="/p") f.WriteLine("<tr><td>Приоритет</td><td>"+Process.Priority+"</td></tr>"); if (WScript.Arguments(i)=="/nameos") f.WriteLine("<tr><td>Название ОС</td><td>"+Process.OSName+"</td></tr>");; if (WScript.Arguments(i)=="/all") { f.WriteLine("<tr><td>Номер версии Windows</td><td>"+Process.WindowsVersion+"</td></tr>"); f.WriteLine("<tr><td>Дата и время начала выполнения процесса</td><td>"+Process.CreationDate); f.WriteLine("<tr><td>Полный путь к исполняемому файлу процесса</td><td>"+Process.ExecutablePath+"</td></tr>"); f.WriteLine("<tr><td>PID процесса</td><td>"+Process.ProcessId+"</td></tr>"); f.WriteLine("<tr><td>Приоритет</td><td>"+Process.Priority+"</td></tr>"); f.WriteLine("<tr><td>Название ОС</td><td>"+Process.OSName+"</td></tr>");; } } f.WriteLine("</table></body></html>"); f.Close(); shell.Run("file.html"); }
if (WScript.Arguments(i)=="/xml") { fso.CreateTextFile("file.xsl",true,false); fso.CreateTextFile("file.xml",true,false); f=fso.OpenTextFile("file.xsl",2); f.WriteLine("<?xml version=\"1.0\" encoding=\"windows-1251\"?><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/TR/WD-xsl\"><xsl:template match=\"/\">"); f.WriteLine("<body bgcolor=\"#FFFFFF\"><p align=\"center\"><font size=\"5\" face=\"Times New Roman, Times, serif\">Процесс с максимальным временем в пользовательском режиме :</font></p><xsl:apply-templates select=\"Names/rec\" /></body>"); f.WriteLine("</xsl:template><xsl:template match=\"rec\"><table width=\"66%\" border=\"3\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#FFFFFF\"> "); f.WriteLine("<tr><td width=\"68%\"><xsl:value-of select=\"par1\" /></td><td width=\"32%\"><xsl:value-of select=\"par2\" /></td></tr></table></xsl:template></xsl:stylesheet>"); f.Close(); f=fso.OpenTextFile("file.xml",2); f.WriteLine("<?xml-stylesheet type=\"text/xsl\" href=\"file.xsl\"?><Names>"); f.WriteLine("<rec><par1>Caption</par1><par2>"+Process.Caption+"</par2></rec>"); f.WriteLine("<rec><par1>Priority</par1><par2>"+Process.Priority+"</par2></rec>"); f.WriteLine("<rec><par1>Name of process</par1><par2>"+Process.Name+"</par2></rec>"); f.WriteLine("<rec><par1>UserModeTime</par1><par2>"+max+" /</par2></rec>"); for(i=0;i<WScript.Arguments.Count();i++) { if (WScript.Arguments(i)=="/win") f.WriteLine("<rec><par1>Number Version Windows</par1><par2>"+Process.WindowsVersion+"</par2></rec>"); if (WScript.Arguments(i)=="/date") f.WriteLine("<rec><par1>Creation date and time</par1><par2>"+Process.CreationDate); if (WScript.Arguments(i)=="/path") f.WriteLine("<rec><par1>Full path to executable file</par1><par2>"+Process.ExecutablePath+"</par2></rec>"); if (WScript.Arguments(i)=="/id") f.WriteLine("<rec><par1>PID </par1><par2>"+Process.ProcessId+"</par2></rec>"); if (WScript.Arguments(i)=="/p") f.WriteLine("<rec><par1>Process priority</par1><par2>"+Process.Priority+"</par2></rec>"); if (WScript.Arguments(i)=="/nameos") f.WriteLine("<rec><par1>Thread count</par1><par2>"+Process.OSName+"</par2></rec>");; if (WScript.Arguments(i)=="/all") { f.WriteLine("<rec><par1>Number Version Windows</par1><par2>"+Process.WindowsVersion+"</par2></rec>"); f.WriteLine("<rec><par1>Creation date and time</par1><par2>"+Process.CreationDate); f.WriteLine("<rec><par1>Full path to executable file</par1><par2>"+Process.ExecutablePath+"</par2></rec>"); f.WriteLine("<rec><par1>PID </par1><par2>"+Process.ProcessId+"</par2></rec>"); f.WriteLine("<rec><par1>Process priority</par1><par2>"+Process.Priority+"</par2></rec>"); f.WriteLine("<rec><par1>Thread count</par1><par2>"+Process.OSName+"</par2></rec>");; } } f.WriteLine("</Names>"); f.Close(); shell.Run("file.xml"); }
}}/*170*/
|
Всем спасибо.
Присоединённый файл ( Кол-во скачиваний: 6 )
sos.js 8,05 Kb
|