<?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[&#x27;0x&#x27; am Anfang von DWORD addieren]]></title><description><![CDATA[<p>Hallo,<br />
ich arbeite momentan an einem eigentlich ganz einfachen Programm: ich lese eine Adresse einer Variablen eines fremden Prozesses aus einer .txt-datei aus und will eigentlich nur ReadProcessMemory() auf diese Adresse anwenden.</p>
<p>Das Problem dabei ist folgendes:</p>
<p>damit es mit ReadProcessMemory() klappt muss ich die Adressvariable so initialisieren:</p>
<pre><code class="language-cpp">DWORD adresse=0x1005194; //beispieladresse aus minesweeper
</code></pre>
<p>wenn man sie ohne das 0x davor initialisiert klappt es natürlich nicht:</p>
<pre><code class="language-cpp">DWORD adresse=1005194;
</code></pre>
<p>dabei erhält man den Fehlercode 299 (ERROR_PARTIAL_COPY);</p>
<p>das wäre eigentlich auch alles kein Problem wenn ich diese Adresse nicht über fstreams aus der textdatei einlesen würde:</p>
<p>denn in der Textdatei steht sie eben genau <em>ohne</em> dieses 0x davor, also zB:</p>
<blockquote>
<p>1005194</p>
</blockquote>
<p>und die Funktion getline() [mit der ich die Zeile der Datei einlese] verlangt einen string als buffer:</p>
<pre><code class="language-cpp">ifstream lesen(&quot;C://test/test.txt&quot;);
string buffer;
getline(lesen, buffer);
</code></pre>
<p>jetzt konvertiere ich die gelesene zeile über Stringstreams nach DWORD:</p>
<pre><code class="language-cpp">string buffer;
DWORD adresse;
stringstream sstr;
sstr&lt;&lt;buffer;
sstr&gt;&gt;adresse;
</code></pre>
<p>mein problem ist also, dass die Adresse jetzt ohne dieses 0x davor bei adresse ankommt, und genau das bräuchte ich aber für ein fehlerfreies readProcessmemory()!</p>
<p>kann ich also einfach &quot;0x&quot; am Anfang der DWORD-variable &quot;addieren&quot;? sodass hinterher &quot;0x1005194&quot; heruaskommt? (mit dem operator + geht das ja leider nicht)</p>
<p>danke schonmal,<br />
andi01.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/264354/0x-am-anfang-von-dword-addieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 00:11:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/264354.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Apr 2010 16:07:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &#x27;0x&#x27; am Anfang von DWORD addieren on Tue, 06 Apr 2010 16:09:51 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich arbeite momentan an einem eigentlich ganz einfachen Programm: ich lese eine Adresse einer Variablen eines fremden Prozesses aus einer .txt-datei aus und will eigentlich nur ReadProcessMemory() auf diese Adresse anwenden.</p>
<p>Das Problem dabei ist folgendes:</p>
<p>damit es mit ReadProcessMemory() klappt muss ich die Adressvariable so initialisieren:</p>
<pre><code class="language-cpp">DWORD adresse=0x1005194; //beispieladresse aus minesweeper
</code></pre>
<p>wenn man sie ohne das 0x davor initialisiert klappt es natürlich nicht:</p>
<pre><code class="language-cpp">DWORD adresse=1005194;
</code></pre>
<p>dabei erhält man den Fehlercode 299 (ERROR_PARTIAL_COPY);</p>
<p>das wäre eigentlich auch alles kein Problem wenn ich diese Adresse nicht über fstreams aus der textdatei einlesen würde:</p>
<p>denn in der Textdatei steht sie eben genau <em>ohne</em> dieses 0x davor, also zB:</p>
<blockquote>
<p>1005194</p>
</blockquote>
<p>und die Funktion getline() [mit der ich die Zeile der Datei einlese] verlangt einen string als buffer:</p>
<pre><code class="language-cpp">ifstream lesen(&quot;C://test/test.txt&quot;);
string buffer;
getline(lesen, buffer);
</code></pre>
<p>jetzt konvertiere ich die gelesene zeile über Stringstreams nach DWORD:</p>
<pre><code class="language-cpp">string buffer;
DWORD adresse;
stringstream sstr;
sstr&lt;&lt;buffer;
sstr&gt;&gt;adresse;
</code></pre>
<p>mein problem ist also, dass die Adresse jetzt ohne dieses 0x davor bei adresse ankommt, und genau das bräuchte ich aber für ein fehlerfreies readProcessmemory()!</p>
<p>kann ich also einfach &quot;0x&quot; am Anfang der DWORD-variable &quot;addieren&quot;? sodass hinterher &quot;0x1005194&quot; heruaskommt? (mit dem operator + geht das ja leider nicht)</p>
<p>danke schonmal,<br />
andi01.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878414</guid><dc:creator><![CDATA[andi01]]></dc:creator><pubDate>Tue, 06 Apr 2010 16:09:51 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;0x&#x27; am Anfang von DWORD addieren on Tue, 06 Apr 2010 16:12:27 GMT]]></title><description><![CDATA[<p>Ähh, das '0x' ist kein Wert. Es bedeutet einfach nur, dass das nachfolgende Literal in Hexadezimalschreibweise vorliegt. Wenn in der Textdatei Hexadezimalwerte stehen, dann lies sie mit dem Manipulator <a href="http://www.cplusplus.com/reference/iostream/manipulators/hex/" rel="nofollow">hex</a> aus und alles sollte in Ordnung sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878420</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 06 Apr 2010 16:12:27 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;0x&#x27; am Anfang von DWORD addieren on Tue, 06 Apr 2010 16:39:38 GMT]]></title><description><![CDATA[<p>wie soll ich die bitte mit dem hex-manipulator auslesen??</p>
<p>zum Auslesen beutze ich getline(); wie soll ich da den hex-manipulator benutzen?</p>
<pre><code class="language-cpp">string buffer;
ifstream lesen(/*Pfad*/);
getline(lesen, buffer);
</code></pre>
<p>mfg,<br />
andi01.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878431</guid><dc:creator><![CDATA[andi01]]></dc:creator><pubDate>Tue, 06 Apr 2010 16:39:38 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;0x&#x27; am Anfang von DWORD addieren on Tue, 06 Apr 2010 16:28:54 GMT]]></title><description><![CDATA[<p>andi01 schrieb:</p>
<blockquote>
<p>wie soll ich die bitte mit dem hex-manipulator auslesen??</p>
<p>zum Auslesen beutze ich getline(); wie soll ich da den hex-manipulator benutzen?</p>
<pre><code class="language-cpp">string buffer;
ifstream lesen(/*Pfad*/);
getline(lesen, buffer);
</code></pre>
<p>mfg,<br />
amdi01.</p>
</blockquote>
<p>andi01 schrieb:</p>
<blockquote>
<p>jetzt konvertiere ich die gelesene zeile über Stringstreams nach DWORD:</p>
</blockquote>
<p>Manipulatoren kann man auch auf Stringstreams anwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878432</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 06 Apr 2010 16:28:54 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;0x&#x27; am Anfang von DWORD addieren on Tue, 06 Apr 2010 16:38:34 GMT]]></title><description><![CDATA[<p>schon klar soweit aber dann kommt auch 1005194 heraus; naja aber das mit ReadProcessMemory() ist wohl eher ein WinAPI-Problem, ich stelle die Frage mal dort;</p>
<p>trotzdem danke, jetzt weiß ich schonmal dass es daran nicht liegt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>[für alle die hier WinAPI können: die Frage ist warum das 1.Codebeispiel oben funktioniert und meine Methode mit der textdatei 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>
<p>danke,<br />
andi01.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878434</guid><dc:creator><![CDATA[andi01]]></dc:creator><pubDate>Tue, 06 Apr 2010 16:38:34 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;0x&#x27; am Anfang von DWORD addieren on Tue, 06 Apr 2010 16:49:34 GMT]]></title><description><![CDATA[<p>andi01 schrieb:</p>
<blockquote>
<p>schon klar soweit aber dann kommt auch 1005194 heraus; naja aber das mit ReadProcessMemory() ist wohl eher ein WinAPI-Problem, ich stelle die Frage mal dort;</p>
<p>trotzdem danke, jetzt weiß ich schonmal dass es daran nicht liegt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Doch, dass liegt ganz sicher daran, du machst bloß bei der Benutzung von hex irgendetwas falsch. Es kommen andere Werte heraus:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;sstream&gt;
#include&lt;string&gt;

using namespace std;

int main()
{
  string gelesene_zeile = &quot;1005194&quot;;
  stringstream read_dezimal(gelesene_zeile);
  stringstream read_hex(gelesene_zeile);
  int dezimal, hexadezimal;

  read_dezimal &gt;&gt; dezimal;
  read_hex &gt;&gt; hex &gt;&gt; hexadezimal;

  cout &lt;&lt; &quot;Dezimal: &quot; &lt;&lt; dezimal &lt;&lt; '\n' &lt;&lt; &quot;Hex: &quot; &lt;&lt; hexadezimal &lt;&lt; endl;

}
</code></pre>
<p>Ausgabe:</p>
<pre><code>Dezimal: 1005194
Hex: 16798100
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1878436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878436</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 06 Apr 2010 16:49:34 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;0x&#x27; am Anfang von DWORD addieren on Tue, 06 Apr 2010 17:42:05 GMT]]></title><description><![CDATA[<p>wow danke, es lag ja doch daran <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="🙂"
    /> <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>
<p>mit deinem Bsp kommt auch kein Fehler bei Read ProcessMemory <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>jetzt muss ich das ganze nur noch auf meine Funktion übertragen, ich hoffe mal das geht fehlerfrei.</p>
<p>edit: ich versuche jetzt mal das ganze zu übertragen(mein Code ist nämlich um einiges komplizierter, das hier war die sehr vereinfachte version <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="😃"
    /> )<br />
ich melde mcih dann nochmal ob es geklappt hat^^</p>
<p>danke,<br />
andi01.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878454</guid><dc:creator><![CDATA[andi01]]></dc:creator><pubDate>Tue, 06 Apr 2010 17:42:05 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;0x&#x27; am Anfang von DWORD addieren on Tue, 06 Apr 2010 18:01:32 GMT]]></title><description><![CDATA[<p>ok ich habe jetzt doch noch ein weiteres problem:</p>
<p>und zwar ist mein Problem wie oben angedeutet um einiges komplizierter <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>zum Beispiel mache ich das Ganze mit einer ganzen Adressliste in der Textdatei, nicht nur einer;</p>
<p>denn es wird der richtige Wert gelesen, alles funktioniert perfekt, aber GetLastError gibt 299 zurück <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="😕"
    /> der gelesene Wert stimmt aber!</p>
<p>kann das vielleicht daran liegen dass ich bei der Variable vorher error 299 bekommen habe und bei dieser 0 und GetLastError() den code 299 als letzten Fehler beibehält weil die letzte Leseoperation fehlerfrei verlief?</p>
<p>[im Übrigen wäre das gar nicht schlimm wenn die Adresse vorher 299 liefert, denn das ist eine beliebige Adresse aus dem Bereich des Programmes und das programm [MineSweeper] allokiert und deallokiert ja laufend Speicher! höchstwahrscheinlich existiert die Variable an der Zieladresse schon gar nicht mehr wenn ich den Wert lese!! nur die variable an der Stelle 1005194 wird ganz sicher nicht deallokiert da diese die Anzahl der verbleibenden Mienen enthält!]</p>
<p>danke schonmal,<br />
andi01.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878460</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878460</guid><dc:creator><![CDATA[andi01]]></dc:creator><pubDate>Tue, 06 Apr 2010 18:01:32 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;0x&#x27; am Anfang von DWORD addieren on Tue, 06 Apr 2010 18:21:27 GMT]]></title><description><![CDATA[<p>ich habe mir jetzt mal ein verhältnismäßig einfaches Codebeispiel geschrieben in dem der genannte Fehler auftritt:</p>
<pre><code class="language-cpp">int error;
  //richtig lesen:

  ReadProcessMemory(process, reinterpret_cast&lt;void*&gt;(hexadezimal), &amp;buffer, sizeof(unsigned int), 0);
  error=GetLastError();

  cout&lt;&lt;&quot;gelesen: &quot;&lt;&lt;buffer&lt;&lt;endl;
  cout&lt;&lt;&quot;errorcode: &quot;&lt;&lt;error&lt;&lt;endl;

  //absichtlich &quot;falsch&quot; lesen:
  DWORD adresse=1005194;
  ReadProcessMemory(process, reinterpret_cast&lt;void*&gt;(adresse), &amp;buffer, sizeof(unsigned int), 0);
  error=GetLastError();
  cout&lt;&lt;&quot;gelesen: &quot;&lt;&lt;buffer&lt;&lt;endl;
  cout&lt;&lt;&quot;errorcode: &quot;&lt;&lt;error&lt;&lt;endl;

  //erneut richtig lesen:
  ReadProcessMemory(process, reinterpret_cast&lt;void*&gt;(hexadezimal), &amp;buffer, sizeof(unsigned int), 0);
  error=GetLastError();

  cout&lt;&lt;&quot;gelesen: &quot;&lt;&lt;buffer&lt;&lt;endl;
  cout&lt;&lt;&quot;errorcode: &quot;&lt;&lt;error&lt;&lt;endl;

  getch();
</code></pre>
<p>hierbei erhalte ich beim 1. mal errorcode null, und beim 2. mal errocode 299, klar, denn ich habe absichtlich die Adresse falsch angegeben!</p>
<p><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="😕"
    /> soweit klar, aber wenn ich jetzt beim 3. mal wieder die richtige adresse angeben und GetLastError() aufrufe, erhalte ich aber auch error 299 <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>
<p>kann ich das irgendwie verhindern oder irgendetwas besser machen? ich würde schon gerne feststellen ob die letzte Operation erfolgreich verlief!!</p>
<p><strong>edit: da diese Methode offensichtlich ungeeignet ist um festzustellen ob die letzte Leseoperation erfolgreich war, wie kann ich es denn dann feststellen?? da muss es doch eine Möglichkeit geben...</strong></p>
<p>danke schonmal,<br />
andi01.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878473</guid><dc:creator><![CDATA[andi01]]></dc:creator><pubDate>Tue, 06 Apr 2010 18:21:27 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;0x&#x27; am Anfang von DWORD addieren on Tue, 06 Apr 2010 19:42:25 GMT]]></title><description><![CDATA[<p>ok ich habe jetzt die Lösung: man prüft einfach den Rückgabewert von ReadProcessMemory() und nur dann wenn der gleich 0 ist (also es ist ein Fehler aufgetreten) benutzt man GetLastError().</p>
<p>ist im obigen Codebeispiel eigentlich irgendein logischer Fehler oder ist GetLastError() hier wirklich ungeeignet? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
<p>hoffentlich geht es jetzt, mal sehen <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>mfg,<br />
andi01.</p>
<p>edit: mit obiger Methode geht jetzt alles fehlerfrei.</p>
<p>danke an alle die dazugeholfen haben <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="🙂"
    /> ,<br />
andi01.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878483</guid><dc:creator><![CDATA[andi01]]></dc:creator><pubDate>Tue, 06 Apr 2010 19:42:25 GMT</pubDate></item><item><title><![CDATA[Reply to &#x27;0x&#x27; am Anfang von DWORD addieren on Tue, 06 Apr 2010 19:46:15 GMT]]></title><description><![CDATA[<blockquote>
<p>ist im obigen Codebeispiel eigentlich irgendein logischer Fehler oder ist GetLastError() hier wirklich ungeeignet? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
</blockquote>
<p>WTF? Selber <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /><br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Natürlich wird der Wert den <code>GetLastError()</code> zurückgibt (von den meisten Funktionen) nicht geändert wenn eben <em>KEIN</em> Fehler passiert ist.<br />
Wenn der überall und immerfort auf 0 gesetzt würde wäre er auch ziemlich unbrauchbar: man müsste dann in hunderten Funktionen immer wieder den Wert von <code>GetLastError()</code> zwischenspeichern, dann diverse Cleanup-Funktionen aufrufen, dann den Wert von <code>GetLastError()</code> wieder herstellen (weil die Cleanup-Funktionen, die ja funktioniert haben, ihn auf 0 zurückgesetzt haben), und dann erst &quot;false&quot; an den Aufrufer melden. -&gt; unpraktisch.</p>
<p>Wenn du willst kannst du ja vorher explizit <code>SetLastError(0)</code> machen.</p>
<p>Es steht auch in der Doku zu den meisten Funktionen etwas wie</p>
<blockquote>
<p><strong>If the function fails</strong>, the return value is <em>(whatever)</em>. To get extended error information, call GetLastError.</p>
</blockquote>
<p>War mir eigentlich immer klar wie das zu verstehen ist. Bzw. ich wäre nie auf die Idee gekommen, mich ungetesteterweise darauf zu verlassen, dass <code>GetLastError()</code> immer 0 ist wenn was geklappt hat.</p>
<blockquote>
<p>ok ich habe jetzt die Lösung: man prüft einfach den Rückgabewert von ReadProcessMemory() und nur dann wenn der gleich 0 ist (also es ist ein Fehler aufgetreten) benutzt man GetLastError().</p>
</blockquote>
<p>Ja, genau so macht man das. Ob die Funktion &quot;funktioniert&quot; hat, oder nicht, das gibt der Returnwert der Funktion selbst an. Danach kannst du dir dann <code>GetLastError()</code> ansehen, wenn du wissen willst wieso. Wobei man sich immer auf den Returnwert der Funktion direkt verlassen sollte, wenn man wissen möchte, ob sie &quot;funktioniert&quot; hat oder nicht. Und das was <code>GetLastError()</code> zurückgibt nur als Zusatzinformation auswerten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878507</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 06 Apr 2010 19:46:15 GMT</pubDate></item></channel></rss>