开发者

Loop All Processes Memory

开发者 https://www.devze.com 2023-03-14 05:36 出处:网络
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 con

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

精彩评论

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