<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ReadProcessMemory Aktualisierung]]></title><description><![CDATA[<p>Hallo ihr,</p>
<p>ich habe das Tutorial von <a href="http://Online-Tutorials.net" rel="nofollow">Online-Tutorials.net</a> durchgenommen. Soweit so gut, ich lese nun bestimmte Speicherstellen aus und lasse die auch ausgeben, nur ändert sich der Speicherwert, zeigt das Prog die Änderung erst beim Neustart an.</p>
<p>Ich habe versucht eine Schleife einzubauen, daß solange die PID &gt; 0 ist, er weiterhin die Speicherstellen auslesen soll und das Ergebnis ausspucken soll. Das Ergebnis war eine 99% CPU Auslastung, also unbrauchbar in diesem Zustand <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Hat einer von euch eine Idee wie ich Speicherstellen Änderung möglichst Realtime erkenne und ausgebe? Also resourcenschonender als bei mir sollte es sein *g*</p>
<p>Ich bedanke mich im vorraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/127057/readprocessmemory-aktualisierung</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Jul 2026 15:04:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/127057.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 21 Nov 2005 07:02:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ReadProcessMemory Aktualisierung on Mon, 21 Nov 2005 07:02:08 GMT]]></title><description><![CDATA[<p>Hallo ihr,</p>
<p>ich habe das Tutorial von <a href="http://Online-Tutorials.net" rel="nofollow">Online-Tutorials.net</a> durchgenommen. Soweit so gut, ich lese nun bestimmte Speicherstellen aus und lasse die auch ausgeben, nur ändert sich der Speicherwert, zeigt das Prog die Änderung erst beim Neustart an.</p>
<p>Ich habe versucht eine Schleife einzubauen, daß solange die PID &gt; 0 ist, er weiterhin die Speicherstellen auslesen soll und das Ergebnis ausspucken soll. Das Ergebnis war eine 99% CPU Auslastung, also unbrauchbar in diesem Zustand <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Hat einer von euch eine Idee wie ich Speicherstellen Änderung möglichst Realtime erkenne und ausgebe? Also resourcenschonender als bei mir sollte es sein *g*</p>
<p>Ich bedanke mich im vorraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/922955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/922955</guid><dc:creator><![CDATA[Lupus77]]></dc:creator><pubDate>Mon, 21 Nov 2005 07:02:08 GMT</pubDate></item><item><title><![CDATA[Reply to ReadProcessMemory Aktualisierung on Mon, 21 Nov 2005 07:23:12 GMT]]></title><description><![CDATA[<p>Du schreibest einen Debugger und verwendest die Register DR0..DR7...<br />
Siehe: <a href="http://www.fh-zwickau.de/doc/prmo/pmtutor/text/debug.htm" rel="nofollow">http://www.fh-zwickau.de/doc/prmo/pmtutor/text/debug.htm</a></p>
<p>Du kannst natürlich auch den Code entsprechend instrumentieren....</p>
<p>Aber was willst Du eigentlich genau machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/922975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/922975</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 21 Nov 2005 07:23:12 GMT</pubDate></item><item><title><![CDATA[Reply to ReadProcessMemory Aktualisierung on Mon, 21 Nov 2005 07:47:16 GMT]]></title><description><![CDATA[<p>Also konkret will ich den Spielstand in Fifa im Auge behalten, die Speicherstellen für die Heimtore und Auswärtstore habe ich, das Auslesen der Stellen funzt auch astrein. Nur wird ein Tor erzielt wird es erst angezeigt wenn ich das Programm neustarte, ich möchte daß das Programm die Änderung selbsständig erkennt und es ausgibt.</p>
<pre><code class="language-cpp">...
ReadProcessMemory(hproc,(LPCVOID)adress1,&amp;buffer1,sizeof(buffer1),&amp;rw); //Auslesen der Speicherstelle
Heimteam-&gt;Caption=buffer1; //Ausgabe der Tore Heim
...
</code></pre>
<p>Mir gehts um die aktualisierung, damit ich vielleicht irgendwann einmal noch ne irc implentierung einbaue für einen livescorebot.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/922997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/922997</guid><dc:creator><![CDATA[Lupus77]]></dc:creator><pubDate>Mon, 21 Nov 2005 07:47:16 GMT</pubDate></item><item><title><![CDATA[Reply to ReadProcessMemory Aktualisierung on Mon, 21 Nov 2005 22:24:48 GMT]]></title><description><![CDATA[<p>Eine Benachrichtigungsmöglichkeit gibt es da nicht. Man kann zwar für allokierte Speicherseiten einen WriteWatch erstellen, dieser erstellt aber auch nur eine Liste, die man bei Bedarf abrufen kann. Du musst also ReadProcessMemory in angemessenen Intervallen aufrufen, um Änderungen mitzubekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923919</guid><dc:creator><![CDATA[masterofx32]]></dc:creator><pubDate>Mon, 21 Nov 2005 22:24:48 GMT</pubDate></item><item><title><![CDATA[Reply to ReadProcessMemory Aktualisierung on Tue, 22 Nov 2005 00:53:05 GMT]]></title><description><![CDATA[<p>genau das ist mein problem, nämlich die intervalle einzubauen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>im mom sieht der kleine code snippet zum test so aus:</p>
<pre><code class="language-cpp">GetWindowThreadProcessId(hWnd, &amp;procid);
     hproc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, procid);
     while (procid&gt;0) {
      int buffer11;
      ReadProcessMemory(hproc,(LPCVOID)adress1,&amp;buffer11,sizeof(buffer11),&amp;rw);
      int *buffer12=&amp;buffer11;
      if (*buffer12&gt;buffer1)  
      Label3-&gt;Caption=*buffer12; //neuer Wert Auswärtstore
     }

    CloseHandle(hproc);//&lt;-- Wichtig!
</code></pre>
<p>Dies ist im Moment über einen Button implementiert, der Code ohne die while Schleife funktioniert, schieße ich in Fifa ein Tor und schalte zurück zum Tool und klicke auf den Button, werden die Auswärtstore angepasst auf den neuen Wert.</p>
<p>Daher die Idee mit der while Schleife, solange der Prozess von Fifa läuft, soll er den Speicher durchsuchen und das Ergebnis aktualisieren. Aber egal wie ich es versuche, entweder wird die Form nicht angezeigt, oder das Programm hähgt in einer Endlosschleife und reagiert nicht mehr oder es hat 99% CPU Auslastung.</p>
<p>Hat da jemand einen Tip oder besser ein kleines Codebeispielchen dafür? Wäre wirklich fein. Danke schonmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/923939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923939</guid><dc:creator><![CDATA[Lupus77]]></dc:creator><pubDate>Tue, 22 Nov 2005 00:53:05 GMT</pubDate></item><item><title><![CDATA[Reply to ReadProcessMemory Aktualisierung on Tue, 22 Nov 2005 01:19:33 GMT]]></title><description><![CDATA[<p>Nutzt du den Borland C++ Builder(weil du das Fenster als &quot;Form&quot; bezeichnest)? In dem Fall wäre es wohl am sinnvollsten, deinen Aktualisierungscode über die Timer-Komponente aufrufen zu lassen. Intervalle von 100ms bis 1s sollten ausreichen.<br />
Ansonsten müsstest du den Code in einen zweiten Thread auslagern, damit dein Code nicht die gesamte Anwendung blockiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923940</guid><dc:creator><![CDATA[masterofx32]]></dc:creator><pubDate>Tue, 22 Nov 2005 01:19:33 GMT</pubDate></item><item><title><![CDATA[Reply to ReadProcessMemory Aktualisierung on Tue, 22 Nov 2005 02:03:06 GMT]]></title><description><![CDATA[<p>Danke für deine Antwort. Ich nutze Tatsache den Borland C++ Builder, aber die Timer Funktion hab ich noch nie benutzt, mal die Borland Hilfe zu Gemüte nehmen und evtl noch bissl googlen.</p>
<p>Nen Intervall von 1 Sec reicht dicke, aber mit Timer läuft das doch auch nur eine bestimmte Zeit, oder? Ich mein wenns nicht anders geht, lager ich das zur Not in einen 2. Thread aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923944</guid><dc:creator><![CDATA[Lupus77]]></dc:creator><pubDate>Tue, 22 Nov 2005 02:03:06 GMT</pubDate></item><item><title><![CDATA[Reply to ReadProcessMemory Aktualisierung on Tue, 22 Nov 2005 02:31:28 GMT]]></title><description><![CDATA[<p>Es wird so lange die Ereignisprozedur des Timers in den gewünschten Intervallen ausgeführt, bis die Eigenschaft &quot;enabled&quot; des Timers auf false gesetzt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923945</guid><dc:creator><![CDATA[masterofx32]]></dc:creator><pubDate>Tue, 22 Nov 2005 02:31:28 GMT</pubDate></item><item><title><![CDATA[Reply to ReadProcessMemory Aktualisierung on Tue, 22 Nov 2005 02:53:26 GMT]]></title><description><![CDATA[<p>grade getestet, geht auch nicht. Das Formular wird nicht angezeigt, bau ich aber im Form ein ShowMessage zum Test ein, poppt das immerwährend auf, wie es sein sollte, nur ohne ShowMessage tut sich vermeintlich nichts.</p>
<p>Das kann nur bedeuten daß ich zu doof bin die Schleife an die richtige Stelle zu setzen, nur viel auswahl mit den Stellen gibts doch da nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/923948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923948</guid><dc:creator><![CDATA[Lupus77]]></dc:creator><pubDate>Tue, 22 Nov 2005 02:53:26 GMT</pubDate></item><item><title><![CDATA[Reply to ReadProcessMemory Aktualisierung on Tue, 22 Nov 2005 03:05:58 GMT]]></title><description><![CDATA[<p>sry für den 2. Post, habe mich nun mal angemeldet damit ich auch editieren kann.</p>
<p>also zu dem code oben, mache ich das über den Konsolen Experte und lasse das über cout ausgeben, klappt das einwandfrei, nur die Form will irgendwie nicht so recht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/923950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923950</guid><dc:creator><![CDATA[Lupus77]]></dc:creator><pubDate>Tue, 22 Nov 2005 03:05:58 GMT</pubDate></item><item><title><![CDATA[Reply to ReadProcessMemory Aktualisierung on Tue, 22 Nov 2005 04:15:11 GMT]]></title><description><![CDATA[<p>Du darfst natürlich im Code der Ereignisprozedur die Speicherstelle nur einmal auslesen und nicht die alte Schleife beibehalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923952</guid><dc:creator><![CDATA[masterofx32]]></dc:creator><pubDate>Tue, 22 Nov 2005 04:15:11 GMT</pubDate></item><item><title><![CDATA[Reply to ReadProcessMemory Aktualisierung on Tue, 22 Nov 2005 05:36:41 GMT]]></title><description><![CDATA[<p>hm grade mal test gemacht, neues leeres form erstellt und nur folgenden code drin:</p>
<pre><code class="language-cpp">int i=0;
while (i==0) {
 }
</code></pre>
<p>das formular wird damit auch nicht angezeigt, irgendwie hab ich da grad ne blockade im hirn, kriegs net auf die reihe.</p>
<p>übern konsolen experte klapps einwandfrei, hier der screenshot: <a href="http://img454.imageshack.us/my.php?image=livescore1jj.jpg" rel="nofollow">http://img454.imageshack.us/my.php?image=livescore1jj.jpg</a></p>
<p>nur bei der windows portierung haperts <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> vielleicht hat ja noch jemand ne idee wie ich das hinbekomme, vielleicht hab ich nach dem aufstehen auch wieder nen klaren kopf, ich geh erst mal pennen. gute nacht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923954</guid><dc:creator><![CDATA[Lupus77]]></dc:creator><pubDate>Tue, 22 Nov 2005 05:36:41 GMT</pubDate></item><item><title><![CDATA[Reply to ReadProcessMemory Aktualisierung on Tue, 22 Nov 2005 05:47:42 GMT]]></title><description><![CDATA[<p>Na wenn du in deinem Programm eine Endlosschleife erstellst, wird es ewig dort festhängen und sich nicht mehr um das Fenster kümmern können. Um das Fenster der Konsole kümmert sich das Betriebssystem, da stört es also nicht, wenn der Prozess blockiert ist.<br />
Deshalb darfst du wie gesagt in der Timer-Ereignisprozedur den Speicher nur einmal auslesen. Um den nächsten Auslesevorgang kümmert sich dann ja der Timer und ruft die Funktion erneut auf. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/923961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923961</guid><dc:creator><![CDATA[masterofx32]]></dc:creator><pubDate>Tue, 22 Nov 2005 05:47:42 GMT</pubDate></item></channel></rss>