<?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[EAccess Violation]]></title><description><![CDATA[<p>Hallo ich bekomme bei meinem Programm immer eine EAccess Violation <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>Dies passiert aber nur dann wenn das Programm einen Fenstertitel findet ansonsten lässt es sich normal beenden.</p>
<p>Es werden halt kurz die Werte ausgeben und sobald ich dann die Enter Taste drück kommt dieser Fehler.</p>
<p>Was ist da falsch?</p>
<pre><code class="language-cpp">#include &lt;windows&gt;
#include &lt;iostream&gt;
using namespace std;

void test();

int main(int argc, char* argv[])
{

  test();

system(&quot;PAUSE&quot;);

}
//---------------------------------------------------------------------------

void test()
{
 HWND handle;
                POINT mause_coord ; // Die POINT Struktur definiert die x- und y- Koordinaten von einem Punkt

                LPTSTR fenster_text;
                int max_text_length = 200;

                        system(&quot;CLS&quot;);
                        GetCursorPos ( &amp; mause_coord );

                        cout&lt;&lt;&quot;Mausposition X: &quot; &lt;&lt;mause_coord.x &lt;&lt;endl &lt;&lt;endl ;
                        cout&lt;&lt;&quot;Mausposition Y: &quot;&lt;&lt;mause_coord.y &lt;&lt;endl &lt;&lt;endl ;

                        handle = WindowFromPoint ( mause_coord ); // WindowFromPoint fragt die koordinaten ab welche mit der
                                                                  // funktion GetCursorPos ermittelt wurden

                        cout&lt;&lt;&quot;Fenster handle: &quot;&lt;&lt;handle &lt;&lt;endl &lt;&lt;endl ;  // handle eines fensters ausgeben

                                GetWindowText
                                (

                                     handle ,     // handel von dem fenster WindowFromPoint ermittelt das handel
                                     fenster_text ,   // puffer in welchem der name von dem text fenster gespeichert wird
                                     max_text_length  // maximale text länge

                                );

                  cout&lt;&lt;&quot;Fenstername: &quot;&lt;&lt;fenster_text&lt;&lt;endl;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/237615/eaccess-violation</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 09:33:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/237615.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 31 Mar 2009 11:14:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to EAccess Violation on Tue, 31 Mar 2009 11:14:38 GMT]]></title><description><![CDATA[<p>Hallo ich bekomme bei meinem Programm immer eine EAccess Violation <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>Dies passiert aber nur dann wenn das Programm einen Fenstertitel findet ansonsten lässt es sich normal beenden.</p>
<p>Es werden halt kurz die Werte ausgeben und sobald ich dann die Enter Taste drück kommt dieser Fehler.</p>
<p>Was ist da falsch?</p>
<pre><code class="language-cpp">#include &lt;windows&gt;
#include &lt;iostream&gt;
using namespace std;

void test();

int main(int argc, char* argv[])
{

  test();

system(&quot;PAUSE&quot;);

}
//---------------------------------------------------------------------------

void test()
{
 HWND handle;
                POINT mause_coord ; // Die POINT Struktur definiert die x- und y- Koordinaten von einem Punkt

                LPTSTR fenster_text;
                int max_text_length = 200;

                        system(&quot;CLS&quot;);
                        GetCursorPos ( &amp; mause_coord );

                        cout&lt;&lt;&quot;Mausposition X: &quot; &lt;&lt;mause_coord.x &lt;&lt;endl &lt;&lt;endl ;
                        cout&lt;&lt;&quot;Mausposition Y: &quot;&lt;&lt;mause_coord.y &lt;&lt;endl &lt;&lt;endl ;

                        handle = WindowFromPoint ( mause_coord ); // WindowFromPoint fragt die koordinaten ab welche mit der
                                                                  // funktion GetCursorPos ermittelt wurden

                        cout&lt;&lt;&quot;Fenster handle: &quot;&lt;&lt;handle &lt;&lt;endl &lt;&lt;endl ;  // handle eines fensters ausgeben

                                GetWindowText
                                (

                                     handle ,     // handel von dem fenster WindowFromPoint ermittelt das handel
                                     fenster_text ,   // puffer in welchem der name von dem text fenster gespeichert wird
                                     max_text_length  // maximale text länge

                                );

                  cout&lt;&lt;&quot;Fenstername: &quot;&lt;&lt;fenster_text&lt;&lt;endl;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1688702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688702</guid><dc:creator><![CDATA[access]]></dc:creator><pubDate>Tue, 31 Mar 2009 11:14:38 GMT</pubDate></item><item><title><![CDATA[Reply to EAccess Violation on Tue, 31 Mar 2009 11:19:00 GMT]]></title><description><![CDATA[<p>LPTSTR ist nen typedef auf char*<br />
und zeigt bei dir also iwo ins nirwana...</p>
<p>richtig wäre:</p>
<pre><code class="language-cpp">const int length = 100;
LPTSTR text = new LPTSTR [length];

GetWindowText ( handle, text, length-1); //weiß nich genau, ob das -1 gebraucht wird - musst du ma gucken, was in der msdn dazu steht (ob nullterminierung mit eingeschlossen ist oder nicht)
</code></pre>
<p>oder was meinst du, wofür du sonst ne länge angeben sollst?</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1688709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688709</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 31 Mar 2009 11:19:00 GMT</pubDate></item><item><title><![CDATA[Reply to EAccess Violation on Tue, 31 Mar 2009 11:33:40 GMT]]></title><description><![CDATA[<p>So ging es leider auch nicht <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>Aber ich habs doch noch hinbekommen <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>
<pre><code class="language-cpp">#include &lt;windows&gt;
#include &lt;iostream&gt;
using namespace std;

void test();

int main(int argc, char* argv[])
{

test();

system(&quot;PAUSE&quot;);

}
//---------------------------------------------------------------------------

void test()
{

HWND handle;
POINT mause_coord ; // Die POINT Struktur definiert die x- und y- Koordinaten von einem Punkt

const int length = 200;
char text[200];

                        system(&quot;CLS&quot;);
                        GetCursorPos ( &amp; mause_coord );

                        cout&lt;&lt;&quot;Mausposition X: &quot; &lt;&lt;mause_coord.x &lt;&lt;endl &lt;&lt;endl ;
                        cout&lt;&lt;&quot;Mausposition Y: &quot;&lt;&lt;mause_coord.y &lt;&lt;endl &lt;&lt;endl ;

                        handle = WindowFromPoint ( mause_coord ); // WindowFromPoint fragt die koordinaten ab welche mit der
                                                                  // funktion GetCursorPos ermittelt wurden

                        cout&lt;&lt;&quot;Fenster handle: &quot;&lt;&lt;handle &lt;&lt;endl &lt;&lt;endl ;  // handle eines fensters ausgeben

    GetWindowText ( handle, text, length );

                  cout&lt;&lt;&quot;Fenstername: &quot;&lt;&lt;text&lt;&lt;endl;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1688730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688730</guid><dc:creator><![CDATA[access]]></dc:creator><pubDate>Tue, 31 Mar 2009 11:33:40 GMT</pubDate></item><item><title><![CDATA[Reply to EAccess Violation on Tue, 31 Mar 2009 12:22:40 GMT]]></title><description><![CDATA[<p>access schrieb:</p>
<blockquote>
<p>Aber ich habs doch noch hinbekommen <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>
</blockquote>
<p>Das wundert mich bei deinem Codestil (von Fehlern mal ganz abgesehen).<br />
1. Gewöhn dir eine sinnvolle Einrückung an, gerade wenn dir auch andere helfen sollen (Dein Code ist unnötig schwer zu lesen). Zudem solltest du unnötige Leerzeilen im Code entfernen wenn du im Forum postest.</p>
<p>2. #include &lt;windows&gt; kenne ich nicht. Wenn du den WinAPI-Header meinst, lautet das #include &lt;windows.h&gt; (Das h wird bei den Headern der C++ Standardbibliothek weggelassen, nicht aber bei der WinAPI).</p>
<p>3. Warum legst du eine Konstante an, wenn du sie nicht auch gleich verwendest?</p>
<pre><code class="language-cpp">const int length = 200;
char text[200];
// Besser:
const int length = 200;
char text[length];
</code></pre>
<p>4. Und zu weiteren Fragen solltest du zudem das richtige Unterforum wählen, hier vermutlich das WinAPI-Forum.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1688773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688773</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 31 Mar 2009 12:22:40 GMT</pubDate></item><item><title><![CDATA[Reply to EAccess Violation on Tue, 31 Mar 2009 13:06:26 GMT]]></title><description><![CDATA[<p>ok - ich hatte es falsch gesagt - sry... doofe 1000de typedefs + (vor allem) makros:</p>
<pre><code class="language-cpp">void test() 
{ 
  POINT mause_coord;
  GetCursorPos ( &amp; mause_coord ); 

  HWND handle = WindowFromPoint ( mause_coord );

  const int length = 200; 
  char text[length];

  int real_length = GetWindowText ( handle, text, length );
  if (real_length == -1)
  {//fehler
	0;
  }
}
</code></pre>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1688802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1688802</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 31 Mar 2009 13:06:26 GMT</pubDate></item></channel></rss>