Selamat Datang di KEBOLIMO: Aplikasi sederhana untuk komputer anda

Rabu, 10 Agustus 2011

membuat task manager


untuk langkah langkah membuat aplikasi seperti ini, pertama- tama kita membuka aplikasi visual basic 6 kemudian membuat sebuah form, dan komponen yang kita butuhkan di dalam sebuah form yaitu:
1 buah list view dan 3 buah button dan susun seperti gambar di bawah ini.

dan tiga buah button,

setelah semua komponen tertata kita atur properti nya....


setelah kita atur propertisnya kemudian masikan kode nya


pertama masukan kode ini:

Const TH32CS_SNAPHEAPLIST = &H1
Const TH32CS_SNAPPROCESS = &H2
Const TH32CS_SNAPTHREAD = &H4
Const TH32CS_SNAPMODULE = &H8
Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Const TH32CS_INHERIT = &H80000000
Const MAX_PATH As Integer = 260
Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * MAX_PATH
End Type
Private Declare Function CreateToolhelp32Snapshot Lib "Kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function Process32First Lib "Kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "Kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32.dll" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hHandle As Long) As Long
Private Const PROCESS_ALL_ACCESS = &H1F0FFF
Private Const PROCESS_QUERY_INFORMATION As Long = &H400
Private Const PROCESS_VM_READ = &H10
Private Declare Function EnumProcessModules Lib "psapi.dll" ( _
ByVal hProcess As Long, _
ByRef lphModule As Long, _
ByVal cb As Long, _
ByRef cbNeeded As Long) As Long
Private Declare Function GetModuleFileNameExA Lib "psapi.dll" ( _
ByVal hProcess As Long, _
ByVal hModule As Long, _
ByVal ModuleName As String, _
ByVal nSize As Long) As Long
* ini berfungsi untuk memanggil sistem API 32 dan perintah pada komputer
kemudian masukan kode seperti ini:

Public Function PathByPID(pid As Long) As String

Dim cbNeeded As Long
Dim Modules(1 To 200) As Long
Dim ret As Long
Dim ModuleName As String
Dim nSize As Long
Dim hProcess As Long

hProcess = OpenProcess(PROCESS_QUERY_INFORMATION _
Or PROCESS_VM_READ, 0, pid)

If hProcess <> 0 Then

ret = EnumProcessModules(hProcess, Modules(1), _
200, cbNeeded)

If ret <> 0 Then
ModuleName = Space(MAX_PATH)
nSize = 500
ret = GetModuleFileNameExA(hProcess, _
Modules(1), ModuleName, nSize)
PathByPID = Left(ModuleName, ret)
End If
End If

ret = CloseHandle(hProcess)

If PathByPID = "" Then
PathByPID = ""
End If

If Left(PathByPID, 4) = "\??\" Then
PathByPID = ""
End If


If Left(PathByPID, 12) = "\SystemRoot\" Then
PathByPID = ""
End If
End Function
* Fungsi ini berfungsi untuk mendapatkan informasi tentang aplikasi yang sedang
* berjalan dengan menggunakan Process ID masing-masing aplikasi
kemudian masukan kode seperti ini:

Private Sub List_Process()
Dim lItem As ListItem
Dim path As String

Dim hSnapShot As Long, uProcess As PROCESSENTRY32
ListView1.ListItems.Clear

hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0&)

uProcess.dwSize = Len(uProcess)
r = Process32First(hSnapShot, uProcess)

Do While r

Set lItem = ListView1.ListItems.Add
With lItem.ListSubItems
.Add , , Left$(uProcess.szExeFile, InStr(1, uProcess.szExeFile, Chr$(0), vbTextCompare) - 1)
.Add , , uProcess.th32ProcessID
path = PathByPID(uProcess.th32ProcessID)
.Add , , IIf(path <> "", path, "[Protected]")
End With
r = Process32Next(hSnapShot, uProcess)

Loop
CloseHandle hSnapShot
End Sub
perintah perintah di atas yaitu berfungsi untuk
* Memastikan agar semua List Box dalam keadaan kosong agar tidak terjadi
penumpukan /duplikasi
* Mendapatkan informasi tentang semua proses yang sedang dijalankan
* Mendapatkan informasi tentang proses yang pertama
* perulangan selama r <> 0
* Mendapatkan informasi dari proses selanjutnya pada windows

setelah itu masukan code untuk Button yang ada caranya klik 2 kali pada button lalu masukan kode sebagai berikut :
untuk Button Matikan
codenya:
Private Sub cmdMatikan_Click()
Dim processID As Long
processID = CLng(ListView1.SelectedItem.ListSubItems(2).Text)
TerminateProcess OpenProcess(PROCESS_ALL_ACCESS, 1, processID), 0
Call List_Process
End Sub

untuk button refresh
codenya

Private Sub cmdRefresh_Click()
List_Process
End Sub

untuk button tutup
codenya

Private Sub cmdTutup_Click()
Unload Me
End Sub

kemudian klik duakali pada form lalau masukan kode seperti ini

Private Sub Form_Load()
List_Process
End Sub

Aplikasi sudah selesai silahkan mencoba.....
klik like di facebook sosial





<< PREV | NEXT >>

0 komentar:

Posting Komentar