开发者

Loop All Processes Memory

How could I, using "ReadProcessMemory" API, loop through all running processes of the machine and scan for an Array of strings and return a true/f开发者_运维技巧alse value if any one or more are contained in the memory of the process - using VB6?

Example:

Strings() = {"@STRING1@", "@ANOTHERSTRING@", "$TRING"}
Loop # Processes
    If InStr(ProcessMemory(#), Strings) Then
        MsgBox(Process(#) & " Contains one of the strings!")
    End If
Loop


i dont know but i used wmi in my program

something how that

Public Sub KillProcess(ByVal processName As String)

On Error GoTo ErrHandler

Dim oWMI
Dim ret
Dim sService
Dim oWMIServices
Dim oWMIService
Dim oServices
Dim oService
Dim servicename

Set oWMI = GetObject("winmgmts:")
Set oServices = oWMI.InstancesOf("win32_process")

For Each oService In oServices

    servicename = LCase$(Trim$(CStr(oService.Name) & ""))

    If InStr(1, servicename, LCase(processName), vbTextCompare) > 0 Then
        ret = oService.Terminate
    End If

Next

If Not oServices Is Nothing Then Set oServices = Nothing
If Not oWMI Is Nothing Then Set oWMI = Nothing


ErrHandler:
    Err.Clear

End Sub
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜