Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

310 lines
9.9 KiB

<html>
<head>
<Title>Advanced System Information - Services</Title>
<Script Language="JScript" Src="CommonFunc.js"></script>
<link rel="STYLESHEET" type="text/css" href="hcp://system/css/shared.css">
<link rel="STYLESHEET" type="text/css" href="msinfohss.css">
<Script Language="JavaScript">
var remoteServer = null;
function OnLoadHandler() {
_body.style.cursor= "wait";
_body.scroll = "no";
DisplayLocStrings();
SetProgressBarImage();
window.setTimeout("LoadChores(0)", TIMEOUT);
}
function DisplayLocStrings() {
WaitMessage.innerHTML = MSG_WAIT;
Refresh.innerHTML = TAG_REFRESH;
with(Services.all) {
Caption.innerHTML = TAG_SERVICES;
Col1.innerHTML = TAG_SERVICE;
Col2.innerHTML = TAG_EXECUTABLE;
Col3.innerHTML = TAG_STATUS;
Col4.innerHTML = TAG_STARTUP;
}
}
var INCR_UNIT = 100;//move progress bar in increments of INCR_UNIT
function LoadChores(taskId) {
try {
switch(taskId)
{
case 0:
remoteServer = GetServerName();
Title.innerHTML = (remoteServer ? (TAG_REMOTEADVINFO + " \\\\" + remoteServer) : TAG_LOCALADVINFO) + " - " + TAG_SERVICES;
break;
case 1:
DrawProgressBar(INCR_UNIT, TAG_SERVICES);
break;
case 2:
var oServices = new myServices;
oServices.show();
break;
default:
taskId = -1;
_header.style.display = "none";
_data.style.display = "";
_body.style.cursor= "default";
_body.scroll = "auto";
}
if(taskId >= 0)
window.setTimeout("LoadChores(" + ++taskId + ")", TIMEOUT);
}
catch (e) {
HandleErr(e);
}
}
function ShowDetail(tr) {
with (tr.all) {
var msg = name.innerHTML + "\r" + exe.innerHTML + "\r" + state.innerHTML + "\r" + startMode.innerHTML;
if(pchealth)
pchealth.MessageBox(msg, "OK");
}
}
//traverse the list and invoke display on each item.
function displayTableSegment(outerDiv, head) {
var strMsg = "<table width=\"100%\" cellspacing=0 cellpadding=0><tr class=\"sys-table-cell-bgcolor1 sys-font-body sys-color-body\"><td align='left' style=\"padding : 0.5em;\">%arg1%</td></tr></table>";
var cnt = 1;
var strHTML = "";
var tableElement = null;
if (document.all[outerDiv].length == null)
tableElement = document.all[outerDiv];
else
tableElement = document.all[outerDiv][0];
if (head==null)
tableElement.outerHTML = strMsg.replace(/%arg1%/, TAG_NONE);
else
{
var curr = head;
while (curr!=null) {
if (document.all[outerDiv].length == null)
tableElement = document.all[outerDiv];
else
tableElement = document.all[outerDiv][0];
if (cnt%2 == 0) {
if (tableElement.all["tr_" + outerDiv])
tableElement.all["tr_" + outerDiv].className = "sys-table-cell-bgcolor1";
cnt = 1;
}
else {
if (tableElement.all["tr_" + outerDiv])
tableElement.all["tr_" + outerDiv].className = "sys-table-cell-bgcolor2";
cnt++;
}
curr.show(tableElement);
strHTML += tableElement.outerHTML;
curr = curr.getNext();
}
tableElement.outerHTML = strHTML;
}
}
//////////////////////
//MyService
function myServiceSetValues(name, exe, state, startMode) {
this.m_name = intelliBreak(name, " ", 23);
this.m_exe = intelliBreak(exe, " ", 20);;
this.m_state = state;
this.m_startMode = startMode;
}
function myServiceShow(tableElement) {
tableElement.all["name"].innerHTML = this.m_name;
tableElement.all["exe"].innerHTML = this.m_exe;
tableElement.all["state"].innerHTML = this.m_state;
tableElement.all["startMode"].innerHTML = this.m_startMode;
}
//constructor
function myService() {
this.m_name = null;
this.m_exe = null;
this.m_state = null;
this.m_startMode = null;
this.m_next = null;
this.getName = new Function("return this.m_name;");
this.setNext = new Function("ptr", "this.m_next = ptr;");
this.getNext = new Function("return this.m_next;");
this.setValues = myServiceSetValues;
this.show = myServiceShow;
}
//EO MyService
//////////////////////
//////////////////////
//MyServices
function myServicesShow() {
displayTableSegment("services", this.m_head);
}
//constructor
function myServices() {
this.m_head = null;
this.show = myServicesShow;
var loc = wbemlocator;
var svcs = loc.ConnectServer(remoteServer);
svcs.Security_.impersonationlevel = wbemImpersonationLevelImpersonate;
var strQuery = "Select * From Win32_Service";
var colItems = new Enumerator(svcs.ExecQuery(strQuery));
for(; !colItems.atEnd(); colItems.moveNext())
{
var inst = colItems.item();
var oService = new myService();
with (inst)
{
//extract just the file name
var arrExe = inst.PathName.split("\\");
var stateval = GetPropValue(svcs, "State", State);
var startmodeval = GetPropValue(svcs, "StartMode", StartMode);
oService.setValues(Name, arrExe[arrExe.length-1], stateval, startmodeval);
}
oService.setNext(this.m_head); //add before
this.m_head = oService;
}
}
//EO MyServices
//////////////////////
</Script>
</head>
<body ID="_body" onLoad="OnLoadHandler()" STYLE="cursor: wait" class="sys-font-body sys-color-body sys-rhp-bgcolor">
<Span ID="Title" align="left" class="sys-font-heading3 sys-rhp-color-title">&nbsp;</Span>
<DIV ID="_header">
<table width="100%" cellspacing="0" cellpadding="0" class="sys-font-body sys-color-body" style="padding : 0.5em 0.5em 0.5em 0em;">
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td ID="WaitMessage" ALIGN="left" VALIGN=top class="sys-font-body-bold sys-color-body">
&nbsp;
</td>
</tr>
<tr>
<td>
<table ID="Progress" border=0 cellspacing="0" cellpadding="0">
<tr>
<td rowspan="3"><img ID="ImgProgLeft" src="Graphics/r1_c1.gif" width="4px" height="18px" border="0"></td>
<td><img src="graphics\r1_c2.gif" width="352px" height="3px" border="0"></td>
<td rowspan="3"><img ID="ImgProgRight" src="Graphics/r1_c3.gif" width="3px" height="18px" border="0"></td>
</tr>
<tr>
<td valign="center"><img width="8px" height="12px" id="Bar" src="Graphics/greendot.jpg"></td>
</tr>
<tr>
<td><img src="Graphics/r3_c2.gif" width="352px" height="3px" border="0"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<Span ID="StatusPerCent" align="left" VALIGN=top width="5%"></Span>
&nbsp;
<Span ID="StatusMsg" align="left" VALIGN=top></Span>
</td>
</tr>
</table>
</DIV>
<DIV ID="_data" STYLE="DISPLAY: none">
<table width="100%" class="table-noborder sys-table-color-border" cellspacing="0" cellpadding="0">
<tr>
<td valign=top colspan="2">
<table width="100%" cellspacing="0" cellpadding="0" class="sys-font-body sys-color-body">
<tr>
<td align="left" valign="bottom">
<A class="sys-link-normal" ID="Refresh" href="#" onclick="window.location.reload()">refresh</a>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>&nbsp;
</td>
</tr>
<tr>
<td width="100%" valign=top>
<table ID="Services" width="100%" class="table-border sys-table-color-border sys-font-body sys-color-body" cellspacing="0" cellpadding="0">
<th valign="top" align="left" class="sys-table-header-bgcolor1 sys-toppane-header-color" style="padding : 0.5em;">
<IMG height=16 src="Graphics/system.GIF" width=16 border=0 align="absmiddle">
<span ID="Caption">&nbsp;</span>
</th>
<tr>
<td valign="top">
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td colspan=4>
<table width="100%" cellspacing="0" cellpadding="0" class="sys-font-body sys-color-body">
<tr class="sys-table-cell-bgcolor1">
<td ID="Col1" width="30%" align="left" valign="top" class="sys-font-body-bold table-rightborder table-bottomborder sys-table-color-border" style="padding : 0.5em;">&nbsp;</td>
<td ID="Col2" width="23%" align="left" valign="top" class="sys-font-body-bold table-rightborder table-bottomborder sys-table-color-border" style="padding : 0.5em;">&nbsp;</td>
<td ID="Col3" width="17%" align="left" valign="top" class="sys-font-body-bold table-rightborder table-bottomborder sys-table-color-border" style="padding : 0.5em;">&nbsp;</td>
<td ID="Col4" width="20%" align="left" valign="top" class="sys-font-body-bold table-bottomborder sys-table-color-border" style="padding : 0.5em;">&nbsp;</td>
</tr>
</table>
<table ID="services" width="100%" cellspacing="0" cellpadding="0" class="sys-font-body sys-color-body">
<tr ondblclick="ShowDetail(this)" ID="tr_services">
<td ID="name" width="30%" align="left" valign="top" class="table-rightborder sys-table-color-border" style="padding : 0.5em;">&nbsp;</td>
<td ID="exe" width="23%" align="left" valign="top" class="table-rightborder sys-table-color-border" style="padding : 0.5em;">&nbsp;</td>
<td ID="state" width="17%" align="left" valign="top" class="table-rightborder sys-table-color-border" style="padding : 0.5em;">&nbsp;</td>
<td ID="startMode" width="20%" align="left" valign="top" style="padding : 0.5em;">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</DIV>
<OBJECT ID="wbemlocator" WIDTH=0 HEIGHT=0
CLASSID="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6">
</OBJECT>
<OBJECT ID="pchealth" WIDTH=0 HEIGHT=0
CLASSID="CLSID:FC7D9E02-3F9E-11d3-93C0-00C04F72DAF7">
</OBJECT>
</body>
</html>