Шустрый

Профиль
Группа: Участник
Сообщений: 84
Регистрация: 5.4.2008
Репутация: нет Всего: нет
|
помогите изменить код до неузнаваемости, и чтобы все работало. | Код | var WMI,Processes,Process,UserModeTime; var Proc_UserModeTime = new Array; var Count;
WMI=GetObject("winMgmts:"); Processes=new Enumerator(WMI.ExecQuery("SELECT * FROM Win32_Process")); //Получение списка запущенных процессов
//Определение процессов с минимальным временем в пользовательском режиме UserModeTime=99999999999999999999999999999999999; while (!Processes.atEnd()) { Process=Processes.item(); if ((Process.UserModeTime!=0)&&(Process.UserModeTime*1 < UserModeTime*1)) { Proc_UserModeTime[0]=Process; UserModeTime=Process.UserModeTime; Count=1; } else if (Process.UserModeTime*1 == UserModeTime*1) { Proc_UserModeTime[Count]=Process; Count++; } Processes.moveNext(); }
function DisplayOutput(handle,pvs,vs,path,pid,prior) //Процедура вывода результата на экран { WScript.Echo("Минимальное время в пользовательском режиме (мкс): ",UserModeTime/10, "\nПроцесс(ы) с минимальным временем в пользовательском режиме: "); var j for (j=0;j<Count;j++) { WScript.Echo("***************************************\nимя процесса: ",Proc_UserModeTime[j].Name); if (handle) WScript.Echo("описатель процесса: ",Proc_UserModeTime[j].Handle); if (pvs) WScript.Echo("максимальный объем виртуальной памяти: ",Proc_UserModeTime[j].PeakVirtualSize); if (vs) WScript.Echo("текущий объем виртуальной памяти: ",Proc_UserModeTime[j].VirtualSize); if (path) WScript.Echo("полный путь к исполняемому файлу процесса: ",Proc_UserModeTime[j].ExecutablePath); if (pid) WScript.Echo("PID процесса: ",Proc_UserModeTime[j].ProcessId); if (prior) WScript.Echo("приоритет процесса: ",Proc_UserModeTime[j].Priority); } }
function HTMLOutput(handle,pvs,vs,path,pid,prior) //Процедура вывода результата в html-файл { //Создание файла var fso = WScript.CreateObject("Scripting.FileSystemObject"); var textfile = fso.CreateTextFile("OutFile.html",true);
//Заполнение файла тегами textfile.WriteLine("<HTML>"); textfile.WriteLine("<HEAD>"); textfile.WriteLine("<TITLE>"); textfile.WriteLine("Процесс(ы) с минимальным временем в пользовательском режиме"); textfile.WriteLine("</TITLE>"); textfile.WriteLine("</HEAD>"); textfile.WriteLine("<BODY>"); textfile.WriteLine("<H2>"); textfile.WriteLine("Процесс(ы) с минимальным временем в пользовательском режиме"); textfile.WriteLine("</H2><BR>"); textfile.WriteLine("<H3>"); textfile.WriteLine("Минимальное время в пользовательском режиме (мкс): "+ UserModeTime/10) textfile.WriteLine("</H3><BR>"); var j textfile.WriteLine("<I>"); for (j=0;j<Count;j++) { textfile.WriteLine("<H3>"); textfile.WriteLine("имя процесса: "+Proc_UserModeTime[j].Name); textfile.WriteLine("</H3><BR>"); textfile.WriteLine("<UL>"); if (handle) textfile.WriteLine("описатель процесса: <LI>"+Proc_UserModeTime[j].Handle+"<BR>"); if (pvs) textfile.WriteLine("максимальный объем виртуальной памяти: <LI>"+Proc_UserModeTime[j].PeakVirtualSize+"<BR>"); if (vs) textfile.WriteLine("текущий объем виртуальной памяти: <LI>"+Proc_UserModeTime[j].VirtualSize+"<BR>"); if (path) textfile.WriteLine("полный путь к исполняемому файлу процесса: <LI>"+Proc_UserModeTime[j].ExecutablePath+"<BR>"); if (pid) textfile.WriteLine("PID процесса: <LI>"+Proc_UserModeTime[j].ProcessId+"<BR>"); if (prior) textfile.WriteLine("приоритет процесса: <LI>"+Proc_UserModeTime[j].Priority+"<BR>"); textfile.WriteLine("</UL>"); } textfile.WriteLine("</I>"); textfile.WriteLine("</BODY>"); textfile.WriteLine("</HTML>"); textfile.Close(); //Запуск html-файла с помощью Internet Explorer var htmFile=fso.GetAbsolutePathName("OutFile.html"); var iexplorer=WScript.CreateObject("InternetExplorer.Application"); iexplorer.Visible=true; iexplorer.Navigate(htmFile); }
function XMLOutput(handle,pvs,vs,path,pid,prior) //Процедура вывода результата в хml-файл { //Создание хml-файла var fso = WScript.CreateObject("Scripting.FileSystemObject"); var textfile = fso.CreateTextFile("OutFile.xml",true);
//Заполнение хml-файла служебной информацией textfile.WriteLine("<?xml version=\"1.0\" encoding=\"windows-1251\"?>"); textfile.WriteLine("<?xml-stylesheet type=\"text/xsl\" href=\"OutFile.xsl\"?>");
//Заполнение хml-файла тегами textfile.WriteLine("<PROC>"); textfile.WriteLine("<TITLE>"); textfile.WriteLine("Процесс(ы) с минимальным временем в пользовательском режиме"); textfile.WriteLine("</TITLE>"); textfile.WriteLine("<CHARACTERISTICS>"); var j for (j=0;j<Count;j++) { textfile.WriteLine("<PROCESS>"); textfile.WriteLine("<NUMBER>"); textfile.WriteLine(j+1); textfile.WriteLine("</NUMBER>"); textfile.WriteLine("<CHARACTERISTIC>"); textfile.WriteLine("<NAME>"); textfile.WriteLine("имя процесса"); textfile.WriteLine("</NAME>"); textfile.WriteLine("<VALUE>"); textfile.WriteLine(""+Proc_UserModeTime[j].Name); textfile.WriteLine("</VALUE>"); textfile.WriteLine("</CHARACTERISTIC>"); if (handle) { textfile.WriteLine("<CHARACTERISTIC>"); textfile.WriteLine("<NAME>"); textfile.WriteLine("описатель процесса"); textfile.WriteLine("</NAME>"); textfile.WriteLine("<VALUE>"); textfile.WriteLine(""+Proc_UserModeTime[j].Handle); textfile.WriteLine("</VALUE>"); textfile.WriteLine("</CHARACTERISTIC>"); } if (pvs) { textfile.WriteLine("<CHARACTERISTIC>"); textfile.WriteLine("<NAME>"); textfile.WriteLine("максимальный объем виртуальной памяти"); textfile.WriteLine("</NAME>"); textfile.WriteLine("<VALUE>"); textfile.WriteLine(""+Proc_UserModeTime[j].PeakVirtualSize); textfile.WriteLine("</VALUE>"); textfile.WriteLine("</CHARACTERISTIC>"); } if (vs) { textfile.WriteLine("<CHARACTERISTIC>"); textfile.WriteLine("<NAME>"); textfile.WriteLine("текущий объем виртуальной памяти"); textfile.WriteLine("</NAME>"); textfile.WriteLine("<VALUE>"); textfile.WriteLine(""+Proc_UserModeTime[j].VirtualSize); textfile.WriteLine("</VALUE>"); textfile.WriteLine("</CHARACTERISTIC>"); } if (path) { textfile.WriteLine("<CHARACTERISTIC>"); textfile.WriteLine("<NAME>"); textfile.WriteLine("полный путь к исполняемому файлу процесса"); textfile.WriteLine("</NAME>"); textfile.WriteLine("<VALUE>"); textfile.WriteLine(""+Proc_UserModeTime[j].ExecutablePath); textfile.WriteLine("</VALUE>"); textfile.WriteLine("</CHARACTERISTIC>"); } if (pid) { textfile.WriteLine("<CHARACTERISTIC>"); textfile.WriteLine("<NAME>"); textfile.WriteLine("PID процесса"); textfile.WriteLine("</NAME>"); textfile.WriteLine("<VALUE>"); textfile.WriteLine(""+Proc_UserModeTime[j].ProcessId); textfile.WriteLine("</VALUE>"); textfile.WriteLine("</CHARACTERISTIC>"); } if (prior) { textfile.WriteLine("<CHARACTERISTIC>"); textfile.WriteLine("<NAME>"); textfile.WriteLine("приоритет процесса"); textfile.WriteLine("</NAME>"); textfile.WriteLine("<VALUE>"); textfile.WriteLine(""+Proc_UserModeTime[j].Priority); textfile.WriteLine("</VALUE>"); textfile.WriteLine("</CHARACTERISTIC>"); } textfile.WriteLine("</PROCESS>"); } textfile.WriteLine("</CHARACTERISTICS>"); textfile.WriteLine("</PROC>"); textfile.Close();
//Создание и заполнение xsl-файла стилей var XSLfile = fso.CreateTextFile("OutFile.xsl",true); XSLfile.WriteLine("<?xml version=\"1.0\" encoding=\"windows-1251\"?>"); XSLfile.WriteLine("<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/TR/WD-xsl\">"); XSLfile.WriteLine("<xsl:template match=\"/\">"); XSLfile.WriteLine("<xsl:apply-templates select=\"PROC\" />"); XSLfile.WriteLine("</xsl:template>"); XSLfile.WriteLine("<xsl:template match=\"PROC\">"); XSLfile.WriteLine("<H3>Процесс(ы) с минимальным временем в пользовательском режиме</H3>"); XSLfile.WriteLine("<H4>Минимальное время в пользовательском режиме (мкс): "+UserModeTime/10+"</H4>"); XSLfile.WriteLine("<xsl:apply-templates select=\"CHARACTERISTICS\" />"); XSLfile.WriteLine("</xsl:template>"); XSLfile.WriteLine("<xsl:template match=\"CHARACTERISTICS\">"); XSLfile.WriteLine("<TABLE border=\"9\" wivsh=\"120%\" cellspacing=\"1\">"); XSLfile.WriteLine("<TR>"); XSLfile.WriteLine("<TD><SPAN style=\"font-size:14pt; color:orange\">Характеристика процесса</SPAN></TD>"); XSLfile.WriteLine("<TD><SPAN style=\"font-size:14pt; color:orange\">Значение характеристики</SPAN></TD>"); XSLfile.WriteLine("</TR>"); XSLfile.WriteLine("<xsl:apply-templates select=\"PROCESS\" />"); XSLfile.WriteLine("</TABLE>"); XSLfile.WriteLine("</xsl:template>"); XSLfile.WriteLine("<xsl:template match=\"PROCESS\">"); XSLfile.WriteLine("<TR>"); XSLfile.WriteLine("<TD><B><I><xsl:value-of select=\"NUMBER\" /></I></B></TD>"); XSLfile.WriteLine("</TR>"); XSLfile.WriteLine("<xsl:apply-templates select=\"CHARACTERISTIC\" />"); XSLfile.WriteLine("</xsl:template>"); XSLfile.WriteLine("<xsl:template match=\"CHARACTERISTIC\">"); XSLfile.WriteLine("<TR>"); XSLfile.WriteLine("<TD><xsl:value-of select=\"NAME\" /></TD>"); XSLfile.WriteLine("<TD><I><xsl:value-of select=\"VALUE\" /></I></TD>"); XSLfile.WriteLine("</TR>"); XSLfile.WriteLine("</xsl:template>"); XSLfile.WriteLine("</xsl:stylesheet>"); XSLfile.Close();
//Запуск хml-файла с помощью Internet Explorer var xmlFile=fso.GetAbsolutePathName("OutFile.xml"); var iexplorer=WScript.CreateObject("InternetExplorer.Application"); iexplorer.Visible=true; iexplorer.Navigate(xmlFile); }
var handle=false; var pvs=false; var vs=false; var path=false; var pid=false; var prior=false; var html=false; var xml=false; var error=false;
if(WScript.Arguments.Count()>0) { if (WScript.Arguments(0)!="/?") { var i; for (i=0;i<WScript.Arguments.Count();i++) { if (WScript.Arguments(i)=="/xml") xml=true; else if (WScript.Arguments(i)=="/html") html=true; else if (WScript.Arguments(i)=="/handle") handle=true; else if (WScript.Arguments(i)=="/pvs") pvs=true; else if (WScript.Arguments(i)=="/vs") vs=true; else if (WScript.Arguments(i)=="/path") path=true; else if (WScript.Arguments(i)=="/pid") pid=true; else if (WScript.Arguments(i)=="/prior") prior=true; else if (WScript.Arguments(i)=="/all") { prior=true; pid=true; path=true; vs=true; pvs=true; handle=true; } else { WScript.Echo("Неверный параметр ",WScript.Arguments(i),"."); error=true; } } if (!error) { if (xml) XMLOutput(handle,pvs,vs,path,pid,prior); if (html) HTMLOutput(handle,pvs,vs,path,pid,prior); if ((!xml)&&(!html)) DisplayOutput(handle,pvs,vs,path,pid,prior); } else WScript.Echo("Данная программа, используя средства WMI определяет процесс(ы) с минимальным временем в пользовательском режиме и выводит его имя (и характеристики).\nПараметры:\n/html вывод результатов в html-файл\n/xml вывод результатов в xml-файл\n/handle описатель процесса\n/pvs максимальный объем виртуальной памяти\n/vs текущий объем виртуальной памяти\n/path полный путь к исполняемому файлу процесса\n/pid PID процесса\n/prior приоритет процесса\n/all все характеристики процесса, предусмотренные программой\nПо умолчанию - вывод на экран только имени процесса"); } else WScript.Echo("Данная программа, используя средства WMI определяет процесс(ы) с минимальным временем в пользовательском режиме и выводит его имя (и характеристики).\nПараметры:\n/html вывод результатов в html-файл\n/xml вывод результатов в xml-файл\n/handle описатель процесса\n/pvs максимальный объем виртуальной памяти\n/vs текущий объем виртуальной памяти\n/path полный путь к исполняемому файлу процесса\n/pid PID процесса\n/prior приоритет процесса\n/all все характеристики процесса, предусмотренные программой\nПо умолчанию - вывод на экран только имени процесса"); } else DisplayOutput(false,false,false,false,false,false);
|
|