Juni 24, 2011

Membuat Task Manager Di Command Prompt

Oke langsung saja kita mulai acaranya. Pasti temen2 semua udah pada tau apa itu “Task Manager”. Kalau blum tau sebaiknya cari tau sendiri y. Nah, program yang akan kita buat kali ini adalah Program sederhana yg berguna untuk mengatur proses yg berjalan pada sistem operasi Windows (seperti Task Manager). “Process Manager” yg akan kita buat kali ini hanyalah sebagai contoh pembelajaran saja. Hanya ada 2 fitur didalamnya, maka silahkan dikembangkan agar menjadi lebih baik.
Oiy, tutorial ini ditujukan untuk kalangan Intermediate dan Expert (dlm Batch Programming). Untuk para newbie mungkin hanya untuk mencoba-coba saja, karena tidak ada penjelaskan secara menyeluruh fungsi “Perintah2/Syntax” yg digunakan, hanya pada bagian penting saja.
Langsung saja kita buat programnya :

[1]. Buka Notepad (text editor), truz copy paste script dibawah :
HERE is THE CODE
tested on Windows XP sp2)
___________________________ start script _____________________________
@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
____________________________ end script _____________________________
[2]. Save dgn Extensi [.BAT], misal : PM.bat
Ataw, bisa langsung Download Scriptnya Di Sini.
# Penjelasan :
Code diatas sengaja saya buat terbagi menjadi bbrp subfuction/subprogram agar memudahkan untuk dibaca dan dipahami. Berikut Penjelasan tiap sub fungsinya :
[Baris 1-4]
Perintah standart dalam memulai Batch Programming.
[:Begin]
Awal proses, berupa pendeklarasian variabel. Terkadang dlm program yg melakukan looping bbrp kali kita harus mendefinisikan command external sebagai varibel.
[:Reload]
Di sini akan terjadi looping sesuai penggunaan, berfungsi menampilkan proses yang sedang berjalan. Secara Default menampilkan “USER Process”. Terdapat juga Menu dgn 4 Pilihan (User,System,Kill,Explore).
[:USER]
Jika kita memilih Menu User (tekan ‘u’), maka program akan dinavigasikan ke subfunsgi ini. Fungsinya adalah untuk Mengganti Nama User untuk proses yang akan ditampilkan menjadi %Username%.
[:SYSTEM]
Hampir sama dgn subfungsi USER, tapi fungsinya untuk menganti Nama User menjadi ‘SYSTEM’.
[:Kill]
Fungsi untuk membunuh proses. Perintah yang digunakan pasti dah pada tau semua yaitu “TASKKILL”.
[:Explore]
Fungsi untuk mengexplore tempat File executable proses tsb berada. Menggunakan perintah ‘wmic’ (Windows Management Instrumentation Command Line). Ada banyak fungsi dalam perintah ini. Untuk menggunakannya pastikan service “Windows Management Instrumentation” sedang berjalan.
[:END] – Akhir dari program ini.
# Penggunaan :
Sekarang jalankan Program yang sudah kita buat.
Pada saat pertama kali dijalankan, secara default akan menampilkan User Process.

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 “Winamp.exe”, tinggal ketik aja PID-nya.
Jika berhasil akan menampilkan pesan seperti pada gambar.
Fitur ke-2 adalah Explore. Tekan ‘E’, lalu [ENTER] untuk menggunakannya.
Truz, tinggal ketik aja PID proses yang ingin diexplore (Lihat gambar).

Jreeeeng, muncul dah windows explorer yang dinavigasikan ke tempat Executable File tsb berada.
He..he.. keyen kan.. tapi ‘Process Manager’ ini masih sederhana. Kamu bisa menambahkan Fitur lain misalnya untuk melihat “Service Process”, Menjalankan Proses baru, Hapus Proses (kill & Delete File), dll.
Selamat mencoba, moga bemamfaat untuk kemajuan IT di Indonesia.
Happy Programming..
.
Salam/Regard
sumber dari : klik-kanan.com

READ MORE - Membuat Task Manager Di Command Prompt