Jump to content

Recommended Posts

Posted

I have made a batch file that I run before gaming, or other heavy tasks like movie editing, music rendering etc. Basicly this batch disables alot of services and ends some current running tasks, and removes background picture. I had an idea, what if some kind of selector could be made to be run before logon, that makes you able to choose performace mode, or normal mode.

I'm thinking the design of the xp shutdown dialog with two buttons, Performance & Normal, it appears after logon button is clicked/or logon if auto.

Am I way out on this idea, or could it be done and be usefull?


Posted

You could set up the user's login script to execute this script to select which mode. You could set up the selection using a batch file. It isn't pretty, but it's functional.

Posted

...Ok, it sounds like a good idea if your system is low on resources, but wouldn't it have to be run after the user logs in and everything is running? Otherwise its trying to close things that arent open yet, and then windows will open them when its finnished.

Anyway, if you want, I can make you an exe that like your looking for if you give me the batch file and the pics you want for the buttons. I'm thinking that the "Performance" button does what the .bat does now, and the "Normal" button does nothing...?

Posted

Well, your kinda right yes, but you could however make windows default not load the processes and services untill you make the choise. This way windows will also boot faster.

Posted

One thing that people often overlook when taking on a project like this is that a restricted user account will use less system resources than an administrative account. What I have done with my desktop computer is move some of the autorun entries from HKLM\Software\Microsoft\Windows\CurrentVersion\Run to the user hive for the administrator. This way they don't execute for the restricted user, only for the admin account. As far as services go, I find that most of the services that are safe to disable, can really just be set to Manual instead. This way they don't start even for the administrator account. If I need one running, I just go and start it.

Of course you can really take this pretty far, but you also need to weigh the advantages of disabling every single little thing and the time that takes vs. the ability to easily disable most things with relatively little effort. I will say though that you have come up with a pretty slick idea there. And this isn't the first one you've had either.

Posted (edited)

Here is a HTA that list the running processes and give the option to task kill any process.

This was done fast but it works, send me a list of processes you would like to kill, and

I will add the button for it.

<HTML><HEAD><TITLE> Gsm_List Process</TITLE> <HTA:APPLICATION ID="Gsm_List Process" SYSMENU="yes" SCROLL="Yes"

SCROLLFLAT ="No" SingleInstance="Yes" ShowInTaskbar="Yes" SysMenu="No" MaximizeButton="No" MinimizeButton="Yes"

Border="Thin" BORDERSTYLE ="complex" INNERBORDER ="No" Caption="Yes" WindowState="Normal" APPLICATIONNAME="Gsm_List Process"

Icon="http://www3.telus.net/GSMJAK1E/AUABuilder/BgImgs/Hta2.ico">

<html xmlns:v="urn:schemas-microsoft-com:vml"xmlns:o="urn:schemas-microsoft-com:office:office"

xmlns:w="urn:schemas-microsoft-com:office:word"xmlns="http://www.w3.org/TR/REC-html40">

<!--[if !mso]><style>v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);}w\:*

{behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}</style><![endif]--><!--

[if gte mso 9]><xml><o:DocumentProperties></w:LatentStyles></xml><![endif]-->

<style>

.TKT2{font-size:10.75pt;font-family:Palatino-Linotype;font-weight:Bold-Italic;line-height:110%;

color:#0926ed;background-color:#c7c3be;filter:progid:DXImageTransform.Microsoft.Gradient

(GradientType=0,StartColorStr='#c7c3be',endColorStr='#e8e4de');padding-top:3;padding-bottom:3;

padding-left:8;padding-right:8;margin-right:8;}

.BTN1{font-size:9.75pt;font-family:Palatino-Linotype;font-weight:Bold-Italic;line-height:110%;

color:#008000;background-color:;filter:progid:DXImageTransform.Microsoft.Gradient

(GradientType=0,StartColorStr='#c7c3be',endColorStr='#e8e4de');padding-top:3;padding-bottom:3;

padding-left:8;padding-right:8;margin-right:8;Width:125;}

TD.BTN2{font-size:9.75pt;font-family:Palatino-Linotype;font-weight:Bold-Italic;line-height:110%;

color:#008000;background-color:;filter:progid:DXImageTransform.Microsoft.Gradient

(GradientType=0,StartColorStr='#c7c3be',endColorStr='#e8e4de');padding-top:3;padding-bottom:3;

padding-left:8;padding-right:8;margin-right:8;Width:175;}

</style><!--[if gte mso 10]><style></style><![endif]-->

<!-- ======================== SCRIPT SEPARATOR ======================== -->

<script LANGUAGE = "VBScript">window.resizeTo 520,705

Const ForReading = 1, ForWriting = 2,ForAppending = 8

Dim Inta : Inta = 0

Dim SP_PID, SP_Name, FR_Name,Txt_Line, MB

Dim Act, Dtop, Fso, Ts, Uname

Set Fso = CreateObject("Scripting.FileSystemObject")

Set Act = CreateObject("Wscript.Shell") : Set Fso = CreateObject("Scripting.FileSystemObject")

Dtop = Act.SpecialFolders("DeskTop") : Uname = Act.ExpandEnvironmentStrings("%UserName%")

strComputer = "."

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process")

MB = 1024 * 1024

''''

Sub window_onLoad

GetInfo

iTimerID = window.setInterval("GetInfo", 300, "VBScript")

Lb1.InnerHtml = Uname & "<BR> Process List"

End Sub

''''

Sub GetInfo

For i = (objTable.Rows.Length - 1) to 0 Step -1

myNewRow = document.all.objTable.deleteRow(i)

Next

Set objRow = objTableBody.InsertRow()

objRow.Style.fontWeight = "Bold"

Set objRow = objTable.InsertRow()

objRow.Style.Color = "Red"

Set objCell = objRow.InsertCell()

objCell.InnerText = "Process ID"

Set objCell = objRow.InsertCell()

objCell.InnerText = "Process Name"

Set objCell = objRow.InsertCell()

objCell.InnerText = "Working Set Size"

Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process")

For Each strProcess in colProcesses

SP_PID = strProcess.ProcessID

SP_Name = strProcess.Name

FR_Name = FormatNumber(strProcess.WorkingSetSize,0,,,-1) /1024

Txt_Line = Space(5) & SP_PID & space(5) & SP_Name & space(5) & FR_Name

Set objRow = objTableBody.InsertRow()

Set objCell = objRow.InsertCell()

objRow.Style.Color = "#0000C8"

objRow.Style.fontWeight = "Bold"

objCell.InnerText = strProcess.ProcessID

Set objCell = objRow.InsertCell()

objCell.InnerText = strProcess.Name

Set objCell = objRow.InsertCell()

Mem = FormatNumber(strProcess.WorkingSetSize,0,,,-1) / MB

Mem = Left(Mem,4)

objCell.InnerText = Mem & " Mb"

Next

End Sub

Function KillTask

strComputer = "."

Dim Tkill : Tkill = InputBox("Type In The Name Of The Process To Kill","Task Kill Process",,5500,4800)

If Tkill = "" Then : window.Alert "User Has cancel Task Kill" : End If

If Tkill <> "" Then

window.alert "Preparing To TaskKill, " & TKill

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcessList = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = '" & Tkill & "'")

For Each objProcess in colProcessList

objProcess.Terminate()

Next

End If

Exit Function

End Function

Function HTAEXIT

If Fso.FileExists("listprocess.hta") Then : Fso.DeleteFile("listprocess.hta") : End If

Window.close

Exit Function

End Function

</SCRIPT>

<body SCROLL="Yes" STYLE= "8.25pt Palatino Linotype; color:#000080;filter:progid:DXImageTransform.Microsoft.Gradient

(GradientType=0, StartColorStr='#e8e4de', EndColorStr='#c7c3be')">

<!--[if gte vml 1]><v:background id="_x0000_s1025" o:bwmode="white" Scroll="Yes" fillcolor="#c7c3be" o:targetscreensize="780,515">

<v:fill color2="#e8e4de", focusposition=".75,-.75" focussize="100" type="gradientRadial"/></v:background><![endif]-->

<Table width="455" Align="Center"><TD CLASS="BTN2"><TABLE width="425" Align="Center">

<TD><input type=button language="vbscript" value="Task Kill Process" CLASS="BTN1" Title="" onclick="KillTask"></TD>

<TD> </TD>

<TD CLASS="BTN2" width="275" Align="Center"><SPAN ID="Lb1"></SPAN></TD>

<TD> </TD>

<TD><input type=button language="vbscript" value="Exit App" CLASS="BTN1" Title="" onclick="HTAEXIT"></TD></Table>

<Center>

<TABLE ID ="objTable" CLASS="TKT2" Width="425"><TBODY ID ="objTableBody" CLASS="TKT2" Width="425"></TBODY></TABLE></TABLE></TABLE>

<TD height="15"> </TD>

<Table ALIGN="Center"><TD><input type=button language="vbscript" value="Task Kill Process" CLASS="BTN1" Title="" onclick="KillTask"></TD></Table>

Edited by gunsmokingman
Posted

Add a second boot option within boot.ini with differant OS parameters, for example /nodebug. You also need to create a service that checks if this parameter is being used and if so start shutting down unneeded services.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...