Task Lister
Task Lister is a portable task manager that can be used as an alternative to the native Windows Task Manager. It is great for flash drives or disk to use on computers that have viruses that have disabled the task manager or it can be used as a lightweight alternative. It is written in AutoHotkey.
Current Release
Task Lister
Release Page - Source Files
Example Code - Getting and refreshing the task list
This function is just a modification of the example shown at the bottom of this page: AutoHotkey - Docs - Commands - Process
TaskList(delim:="|",getArray:=0,sort:=0){
d := delim
s := 4096
Process, Exist
h := DllCall("OpenProcess", "UInt", 0x0400, "Int", false, "UInt", ErrorLevel, "Ptr")
DllCall("Advapi32.dll\OpenProcessToken", "Ptr", h, "UInt", 32, "PtrP", t)
VarSetCapacity(ti, 16, 0)
NumPut(1, ti, 0, "UInt")
DllCall("Advapi32.dll\LookupPrivilegeValue", "Ptr", 0, "Str", "SeDebugPrivilege", "Int64P", luid)
NumPut(luid, ti, 4, "Int64")
NumPut(2, ti, 12, "UInt")
r := DllCall("Advapi32.dll\AdjustTokenPrivileges", "Ptr", t, "Int", false, "Ptr", &ti, "UInt", 0, "Ptr", 0, "Ptr", 0)
DllCall("CloseHandle", "Ptr", t)
DllCall("CloseHandle", "Ptr", h)
hModule := DllCall("LoadLibrary", "Str", "Psapi.dll")
s := VarSetCapacity(a, s)
c := 0
DllCall("Psapi.dll\EnumProcesses", "Ptr", &a, "UInt", s, "UIntP", r)
Loop, % r // 4
{
id := NumGet(a, A_Index * 4, "UInt")
h := DllCall("OpenProcess", "UInt", 0x0010 | 0x0400, "Int", false, "UInt", id, "Ptr")
if !h
continue
VarSetCapacity(n, s, 0)
e := DllCall("Psapi.dll\GetModuleBaseName", "Ptr", h, "Ptr", 0, "Str", n, "UInt", A_IsUnicode ? s//2 : s)
if !e
if e := DllCall("Psapi.dll\GetProcessImageFileName", "Ptr", h, "Str", n, "UInt", A_IsUnicode ? s//2 : s)
{
SplitPath, n, n
}
DllCall("CloseHandle", "Ptr", h)
if (n && e)
l .= n . d, c++
}
DllCall("FreeLibrary", "Ptr", hModule)
l:=SubStr(l,1,StrLen(l)-1) " " ndir
If getArray
{
proc:=!proc?Object():""
Loop, Parse, l, |
proc.Push(A_LoopField)
}
If sort
Sort, l, D%delim%
Return getArray?proc:l
}
Motivation
I created this to help work on clients computers.
Installation
Portable program (Plans for installer and portable option).
Test
I have tested on Windows 10 32 Bit and Windows 7 64 Bit.
Contributors
Ian Pride @ faithnomoread@yahoo.com - [Lateralus138] @ New Pride Services
License
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
License provided in gpl.txt