Membuat task manager dengan script

Saya pernah mencoba untuk membuat program semacam kill process pada delphi, tapi ternyata tidak semudah yang saya kira, tujuannya si agar ada alternatif lain, selain tools seperti task manager bawaan windows

Karena banyaknya virus yang mendisable command task manager, maka muncul tools2 lain yang berfungsi hampir sama dengan task manager, diantaranya process explorer, kill process, kill box, process viewer, dll tapi terkadang virus-virus tersebut juga tidak mau kalah, didisablenya process2 tools tersebut, hingga pergantian caption pada tools tersebut jadi mutlak diperlukan Akhirnya sekian waktu mencari,ternyata ada trik untuk membuat tool sederhana, script dari notepad yang bisa kita buat sendiri, berikut penjelasannya.

Copy script dibawah ini dan paste di notepad simpan dengan nama apa saja dengan extensi bat, misalkan task.bat, here are the code :

@echo off
mode 33,25
setlocal ENABLEDELAYEDEXPANSION
Title Process Manager
:Begin
PUSHD
CD /D "!TEMP!"
set "TASKLIST=%windir%\system32\tasklist.exe"
set "FIND=%windir%\system32\find.exe"
set "wmic=%windir%\System32\Wbem\wmic.exe"
set "Explore=%windir%\explorer.exe"

:Reload
cls
set num=0
echo.________________________________
echo.[ Process Name ] [ PID ]
echo.--------------------------------
if not defined NAME set NAME=%USERNAME%
!TASKLIST! /FI "USERNAME eq !NAME!" /FO TABLE /NH >"plist.txt"
for /f "tokens=*" %%a in (plist.txt) do (
set /a num+=1
set "list=%%a"
set "list=!list:~0,32!"
echo.!list!
)
echo.________________________________
Del /f /q "plist.txt" >nul 2>&1
Title !NAME! - [!num!] Process Running.
if not defined ac (
if /i "!NAME!"=="%USERNAME%" goto :USR
if /i "!NAME!"=="SYSTEM" goto :SYS
)
if /i "!ac!"=="K" goto :Kill
if /i "!ac!"=="S" goto :SYSTEM
if /i "!ac!"=="U" goto :USER
if /i "!ac!"=="E" goto :Explore
set "ac="
GOTO :Reload

:USER
set "NAME="
set "ac="
GOTO :Reload
:USR
echo.CH : K=Kill, S=System, E=Explore
set /p "ac=Manage : "
GOTO :Reload

:SYSTEM
set NAME=SYSTEM
set "ac="
GOTO :Reload
:SYS
echo.CH : K=Kill, U=User, E=Explore
set /p "ac=Manage : "
GOTO :Reload

:Kill
echo.Type PID to Kill..
set /p "PID=PID : "
if not defined PID goto :Reload
Taskkill /F /PID !PID! >nul 2>&1
if errorlevel 1 (echo.No Task Running w/ this PID.) else (
if !PID! geq 0 if !PID! lss 10 (
echo.Can't kill Critical Process
goto :clr_var2
) else (
echo.Success : Task with PID=!PID!
echo. has been KILLED..
))
:clr_var2
set "ac="
set "PID="
PAUSE>NUL
GOTO :Reload

:Explore
echo.Type PID to Explore..
set /p "PID=PID : "
if not defined PID goto :Reload
if !PID! lss 10 goto :clr_var
if !PID! gtr 10000 goto :clr_var
!wmic! process get ProcessID,ExecutablePath >"path.txt"
for /f "tokens=1,2 delims= " %%a in ('type "path.txt" ^| !FIND! " !PID! "') do (
set "exepath=%%~dpa"
)
if not defined exepath (
echo.No Task Running w/ this PID.
PAUSE>NUL
) else (!Explore! "!exepath!")
set "ac="
:clr_var
set "PID="
set "exepath="
Del /f /q "path.txt" >nul 2>&1
GOTO :Reload

:END

Penjelasannya:

Ketika file tersebut dijalankan akan muncul gambar dibawah ini



Gambar diatas adalah tampilan awal. Ada 3 menu Pilihan yaitu :

[tekan ‘K’] : Kill – Membunuh proses.

[tekan ‘S’] : System – Menampilkan System Process.

[tekan ‘E’] : Explore – Mengexplore App Path dgn Windows Explorer.

Coba, kita tekan ‘S’, lalu [ENTER] Maka Program akan menampilkan System process spt Gambar dibawah :



Untuk menampilkan kembali USER process, tekan ‘U’, lalu [ENTER].Sekarang kita coba membunuh proses. Tekan ‘K’, lalu [ENTER].Maka akan tampil Prompt sprti gambar dibawah ini :



Misal, kita akan membunuh proses “Firefox.exe”, tinggal ketik aja PID-nya. Fitur ke-2 adalah Explore. Tekan ‘E’, lalu [ENTER] untuk menggunakannya. Truz, tinggal ketik aja PID proses yang ingin diexplore (Lihat gambar).



Seperti kata penulisnya, ‘Process Manager’ ini masih sederhana. kita bisa menambahkan Fitur lain misalnya untuk melihat “Service Process”, Menjalankan Proses baru, Hapus Proses (kill & Delete File), dll

sumber

Komentar