fehlende Parmeter DllCall / _WinAPI - ReadProcessMemory

  • Hallo zusammen,

    ich habe mich letztens mal hinter DllCalls geklemmt und wollte versuchen zu verstehen was es damit auf sich hat. Ich denke das ist mir klar geworden, aber ich habe leider gar keine Ahnung woher immer alle wissen was in den jeweiligen .dll's für Funktionen enthalten sind. Mittlerweile schaue ich bei MSDN immer via Stichwortsuche ... RAM eines Prozesses auslesen -> ReadProcessMemory nur komme ich dort zu meinem zweiten Problem. Ich möchte ein Script schreiben, mit dem ich einen Prozess überwache und alle 60 Sekunden den Ram auslese und die Infos in eine Datei schreiben lasse ... mein Problem:

    wo kriege ich bei einem

    [autoit]

    _WinAPI_ReadProcessMemory($hProcess, $pBaseAddress, $pBuffer, $iSize, ByRef $iRead)

    [/autoit]

    die restlichen Informationen her? $hProcess könnt ich mir die ProzessID vorstellen aber der Rest 8|
    Bei:

    [autoit]

    ; retrieve memory infos of the current running process
    Local $mem = ProcessGetStats(4480)

    [/autoit][autoit][/autoit][autoit]

    For $i = 0 To UBound($mem) - 1
    ConsoleWrite($mem[$i] & @CR)
    Next
    ; retrieve IO infos of the current running process
    Local $IO = ProcessGetStats(4480, 1)
    ConsoleWrite(@CR)
    For $i = 0 To UBound($IO) - 1
    ConsoleWrite($IO[$i] & @CR)
    Next)

    [/autoit]

    kriege ich jetzt zwar etwas rausgeschrieben aber leider net den erwünschten Arbeitsspeicherverbrauch (Seitenfehler, Zugesichert, Arbeitssatz, Freigabe Möglich, Privat). Angeblich kriege ich das via:

    [autoit]

    Local $i_PID = 4480
    Local $ai_Handle = DllCall("kernel32.dll", 'int', 'ReadProcessMemory', "hwnd", $i_PID)
    If @error <> 0 Then
    MsgBox(0,"",@error)
    Exit 0
    EndIf

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0,"",UBound($ai_Handle))
    For $i = 0 To UBound($ai_Handle) - 1
    ConsoleWrite($ai_Handle[$i] & @CR)
    Next

    [/autoit]

    raus, nur dort stürzt mein AutoIt jedesmal ab :/

    Könnte mir fix jemand helfen? Möchte mein momentanes Projekt damit überwachen lassen da ich glaube einige Speicherleaks gefunden zu haben :/
    Für die die nicht wissen welche Infos ich meine: Task-Manager -> Lesitungen -> Ressourcenmonitor -> Arbeitsspeicher

    Grüße

    Grüße Yaerox

    Grüne Hölle

    7 Mal editiert, zuletzt von Yaerox (17. Dezember 2012 um 09:28)

  • Da ich jetzt mitbekommen habe, dass oft bei diesem Thema auf Bots geschaut wird, mein Script (Ablaufsteuerung) ist ja im Forum :) Möchte nochmal darauf hinweisen, dass ich dies dafür sicherlich nutzen werde, zumal ich selbst leidenschaftlicher Gamer bin und eine Abneigung ggn Bots verspüre :)

    Nun hoffe ich nurnoch dass mir jemand helfen kann :/

    Grüße Yaerox

    Grüne Hölle