[Visual Basic 10]ReadProzessMemory Problem

12/16/2011 21:23 Stephack#1
Hallo Leute.

Ich Wollte Mir Eine Health Anzeige In Meine Form Bringen Und diese In Prograssbar 1 = Value Zeigen

So Nun Mein Problem.

Achja das Game : Dofus 2

Nun Weis Ich Nicht Genaus , Was Der Prozessname ist ^^^

Hier Mein Code :
Code:


Imports System.Runtime.InteropServices
Imports System.Text
Public Class Loader


    <DllImport("kernel32.dll")> Private Shared Function ReadProcessMemory(ByVal hProcess As IntPtr, ByVal lpBaseAddress As IntPtr, ByVal lpBuffer As Byte(), ByVal nSize As UIntPtr, ByRef lpNumberOfBytesWritten As UInteger) As Boolean
    End Function

    <DllImport("kernel32.dll")> Private Shared Function OpenProcess(ByVal dwDesiredAccess As UInt32, ByVal bInheritHandle As [Boolean], ByVal dwProcessId As UInt32) As IntPtr
    End Function


    Private Sub timer_tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick


        'Silkroad Online Prozess / In deinem Fall dann der Prozessname von Runes of Magic (RoM glaub ich) 
        Dim DofusMode_Processes As Process() = Process.GetProcessesByName("DofusMode.exe")



        If DofusMode_Processes.Length > 0 Then

            Dim DofusMode As Process = DofusMode_Processes(0)
            Dim readHandle As IntPtr = OpenProcess(&H10, False, CUInt(DofusMode.Id))
            Dim bytes As Byte() = New Byte(23) {}
            Dim rw As Integer = 0

            'Bei &HA9EE44 musst du deinen Pointer Eintragen. In VB musste vorne &H machen und dann was in CheatEngine rauskam z.B.: CheatEngine Wert wäre 00C83BEDD dann wäre es in VB: &HC83BEDD. 



            'current HP 
            ReadProcessMemory(readHandle, DirectCast(&HF1A70DC, Integer), bytes, DirectCast(24, Integer), rw)
            Dim currHP As Integer = BitConverter.ToInt32(bytes, 0)
            'Bei &H3BC deinen CheatEngine Wert für deine momentanen HP 

            'maximal HP 
            ReadProcessMemory(readHandle, DirectCast(&HF1A70E0, Integer), bytes, DirectCast(24, Integer), rw)
            Dim maxHP As Integer = BitConverter.ToInt32(bytes, 0)
            'Bei &H3B4 deinen CheatEngine Wert für deine maximalen HP 

            'current MP 
            ReadProcessMemory(readHandle, DirectCast(&H3B0, Integer), bytes, DirectCast(24, Integer), rw)
            Dim currMP As Integer = BitConverter.ToInt32(bytes, 0)
            'Bei &H3B0 deinen CheatEngine Wert für deine momentanen MP 

            'maximal MP 
            ReadProcessMemory(readHandle, DirectCast(&H3B8, Integer), bytes, DirectCast(24, Integer), rw)
            Dim maxMP As Integer = BitConverter.ToInt32(bytes, 0)
            'Bei &H3B8 deinen CheatEngine Wert für deine maximalen HP 

            'Level 
            ReadProcessMemory(readHandle, DirectCast(&HF1A70E8, Integer), bytes, DirectCast(24, Integer), rw)
            Dim level As Byte = bytes(0)
            'Bei &H7C8 deinen CheatEngine Wert für die Levelangabe 

            'Ausgabe 

            HPLabel.Text = "HP: " & currHP & "/" & maxHP 'Wird z.B. so dann angezeigt = HP: 5032/10000 
            MPLabel.Text = "MP: " & currMP & "/" & maxMP
            LevelLabel.Text = "Level: " & level

            'HP/MP kannste auch in eine Progressbar einfügen, damit es wie im Spiel aussieht: 
            'Für HP z.B.: 
            If currHP <= maxHP And currHP >= 0 Then
                ProgressBar1.Maximum = maxHP 'Der maximale Wert der Progressbar sind dann deine maximalen HP 
                ProgressBar1.Value = currHP 'Der Wert der Progressbar ist dann so viel, wie deine momentanen HP 
            End If

        End If
    End Sub


    Private Sub Loader_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Timer1.Start()

    End Sub
End Class
Hoffe Ihr Könnt Mir Helfen Danke ^^
12/17/2011 00:16 MoepMeep#2
Haste aber fein kopiert :>

[Only registered and activated users can see links. Click Here To Register...]
12/17/2011 01:11 Kraizy​#3
Quote:
Originally Posted by Stephack View Post
Nun Weis Ich Nicht Genaus , Was Der Prozessname ist
Findest du im Taskmanager.
12/17/2011 01:41 Stephack#4
Quote:
Originally Posted by MoepMeep View Post
Haste aber fein kopiert :>

[Only registered and activated users can see links. Click Here To Register...]
Ja..
Habe Ich Doch Auch Gesagt Oder.

Eig. War Dass Nicht Wirklich Meine Frage ?!
12/17/2011 02:21 MoepMeep#5
Quote:
Originally Posted by Stephack View Post
Ja..
Habe Ich Doch Auch Gesagt Oder.

Eig. War Dass Nicht Wirklich Meine Frage ?!
Dann lern dich gescheit auszudrücken.

btw [Only registered and activated users can see links. Click Here To Register...]
12/17/2011 10:34 Stephack#6
Quote:
Originally Posted by MoepMeep View Post
Dann lern dich gescheit auszudrücken.

btw [Only registered and activated users can see links. Click Here To Register...]
...

Ich darf doch wohl alles mit GROß anfangen oder ?
12/17/2011 12:09 MoepMeep#7
Quote:
Originally Posted by Stephack View Post
...

Ich darf doch wohl alles mit GROß anfangen oder ?
Sagt dir der Begriff lesbarkeit was? :>
12/19/2011 17:30 Stephack#8
Quote:
Originally Posted by MoepMeep View Post
Sagt dir der Begriff lesbarkeit was? :>
Ja, Der sagt mir was.

Als ob du das nicht lesen könntest ?
12/19/2011 19:29 MoepMeep#9
Lies dir mal bitte die entsprechende Fachliteratur durch.
[Only registered and activated users can see links. Click Here To Register...]
12/23/2011 14:00 Adroxxx#10
Quote:
Originally Posted by MoepMeep View Post
Lies dir mal bitte die entsprechende Fachliteratur durch.
[Only registered and activated users can see links. Click Here To Register...]
Ich muss dich leider enttäuschen. Das Buch MCI von Prof. Heinecke, bei dem ich auch Vorlesung habe, beschäftigt sich mit der Ergonomie und Benutzerfreundlichkeit von grafischen Oberflächen, Interfaces etc.

Hat also zu dem Thema nichts beizutragen.

Weiterhin würde ich euch bitten solche Diskussionen doch per /pm zu machen. Sonst muss ich wieder den Banhamm0r rausholen.

Ich erwarte und will auch keine antwort auf meinen Post, sonst schließ ich das Thema. Bleibt ontopic oder lasst es.