• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

ListBox có màu. Path của Process

Các thủ thuật liên quan đến việc xử lý ứng dụng, biểu mẫu và control
User avatar
truongphu
VIP
VIP
Posts: 4764
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 519 times

ListBox có màu. Path của Process

Postby truongphu » Thu 15/12/2011 10:00 am

Thủ thuật: ListBox có màu. Path của Process
Tác giả: truongphu
Mô tả: ListBox có màu. Path của Process


Một số phần mềm gián điệp (exe), hoặc phần mềm không mong muốn chạy nền (background) có thể hiện diện trong máy tính của chúng ta.
Liệt kê các process đang hiện hữu là việc làm cần thiết (TaskManager).
Bên cạnh việc Kill các process, cần nhất là phải biết địa chỉ của chúng (Path).
Thủ thuật sau đây sẽ đáp ứng các tiêu chí trên. Ngoài ra còn giới thiệu đến các bạn ListBox có màu sắc khác nhau (BackColor) của tác giả thevbprogrammer.com
thevbprogrammer.com
P.O. Box 50
Maple Shade, NJ 08052
(USA)

untitled.JPG
untitled.JPG (35.45 KiB) Viewed 2978 times


Code: Select all

Dim MM() As String

Private Sub Command1_Click()
On Error Resume Next
Dim NN() As String
NN = Split(List1.Text, " _")
Set colProcessList = GetObject("winmgmts:\root\cimv2").ExecQuery _
("Select * from Win32_Process Where Name = '" & NN(0) & "'")
For Each aa In colProcessList
    aa.Terminate
Next
List1Refresh
For I = 0 To List1.ListCount - 1
    If InStr(List1.List(1), NN(0)) Then
        MsgBox "Không xong!"
        Exit For
        Exit Sub
    End If
Next
    MsgBox "Ðã xong"
End Sub

Private Sub Command2_Click()
    List1Refresh
End Sub

Private Sub Form_Load()
    'Subclass the "Form", to Capture the Listbox Notification Messages ...
    lPrevWndProc = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf SubClassedList)
    List1Refresh
    List1.ListIndex = List1.ListCount - 3
End Sub

Private Sub Form_Unload(Cancel As Integer)
    'Release the SubClassing, Very Important to Prevent Crashing!
    Call SetWindowLong(hwnd, GWL_WNDPROC, lPrevWndProc)
End Sub

Private Sub List1_Click()
    Text1 = MM(List1.ListIndex)
End Sub

Private Sub List1Refresh()
List1.Clear
Set colProcessList = GetObject("winmgmts:\root\cimv2").ExecQuery _
("Select * from Win32_Process")
For Each objProcess In colProcessList
    On Error Resume Next
    colProperties = objProcess.GetOwner(strNameOfUser, strUser)
    If Len(objProcess.Name) < 20 Then objProcess.Name = objProcess.Name & " _" & Space(20 - Len(objProcess.Name))
    If strUser = "NT AUTHORITY" Then strUser = "System" Else strUser = "Admin"
    ReDim Preserve MM(List1.ListCount)
    MM(List1.ListCount) = objProcess.ExecutablePath
    List1.AddItem objProcess.Name & strUser
    Select Case strUser
        Case "Admin": List1.ItemData(List1.NewIndex) = QBColor(10)
        Case "System": List1.ItemData(List1.NewIndex) = QBColor(15)
    End Select
Next
End Sub
Attachments
End Process.rar
(3.3 KiB) Downloaded 597 times


o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Return to “[VB] Ứng dụng - Form và Control”

Who is online

Users browsing this forum: No registered users and 1 guest