<?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[Adresse auf eine Funktion herausfinden]]></title><description><![CDATA[<p>Hallo zusammen, ich bin kein Experte was die Windows-API angeht und habe vielleicht eine dumme Frage:</p>
<p>Wie komme ich an die Adresse einer Funktion die in einer Klasse deklariert ist?<br />
Früher habe ich immer die Funktion GetProcAddress verwendet:</p>
<pre><code class="language-cpp">extern &quot;C&quot; __declspec(dllexport) __stdcall void myFunction(void);

  HOOKPROC lpfnHookProc = NULL;
  lpfnHookProc = GetProcAddress(GetModuleHandle(&quot;MyDll.dll&quot;),&quot;myFunction&quot;);
</code></pre>
<p>Das hat funktioniert auch so weit so lange die Funktion myFunction sich nicht in einer Klasse befindet, ich benötige aber eine Adresse einer Funktion die in einer Klasse deklariert ist.</p>
<p>Hat jemand eine Lösung?<br />
Vielen Dank<br />
coder24h</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/168727/adresse-auf-eine-funktion-herausfinden</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 04:19:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/168727.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 27 Dec 2006 11:14:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Adresse auf eine Funktion herausfinden on Wed, 27 Dec 2006 11:14:55 GMT]]></title><description><![CDATA[<p>Hallo zusammen, ich bin kein Experte was die Windows-API angeht und habe vielleicht eine dumme Frage:</p>
<p>Wie komme ich an die Adresse einer Funktion die in einer Klasse deklariert ist?<br />
Früher habe ich immer die Funktion GetProcAddress verwendet:</p>
<pre><code class="language-cpp">extern &quot;C&quot; __declspec(dllexport) __stdcall void myFunction(void);

  HOOKPROC lpfnHookProc = NULL;
  lpfnHookProc = GetProcAddress(GetModuleHandle(&quot;MyDll.dll&quot;),&quot;myFunction&quot;);
</code></pre>
<p>Das hat funktioniert auch so weit so lange die Funktion myFunction sich nicht in einer Klasse befindet, ich benötige aber eine Adresse einer Funktion die in einer Klasse deklariert ist.</p>
<p>Hat jemand eine Lösung?<br />
Vielen Dank<br />
coder24h</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1198353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1198353</guid><dc:creator><![CDATA[coder24h]]></dc:creator><pubDate>Wed, 27 Dec 2006 11:14:55 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse auf eine Funktion herausfinden on Wed, 27 Dec 2006 12:41:45 GMT]]></title><description><![CDATA[<p>Wenn eine Funktion *nicht* statisch in einer Klasse deklariert ist, hast Du keine Möglichkeit eine &quot;Adresse&quot; zu bekommen... die Implementierung ist höchst Compiler-Abhängig.<br />
Wenn die Funktion statisch ist, dann einfach &quot;&amp;&quot; verwenden.<br />
Für Methoden in einer Klasse gibt es auf Codeproject einen guten Artikel, der das ganze &quot;Problemfeld&quot; beschreibt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1198405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1198405</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 27 Dec 2006 12:41:45 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse auf eine Funktion herausfinden on Thu, 28 Dec 2006 10:40:17 GMT]]></title><description><![CDATA[<p>Die Problematik ist mir jetzt einigermaßen klar daher versuche ich mit den statischen Methoden und Variablen zu arbeiten, doch dass klappt ebenso wenig.</p>
<pre><code class="language-cpp">static HINSTANCE ghInst;

void __stdcall myFunction(void)
{
  HOOKPROC lpfnHookProc = NULL;
  lpfnHookProc = GetProcAddress(GetModuleHandle(&quot;MyDll.dll&quot;),&quot;myFunction&quot;);
  ghhookKB = SetWindowsHookEx(WH_KEYBOARD, lpfnHookProc, ghInst, NULL);
}
</code></pre>
<p>Da die ghInst static ist, kriege ich das nicht mehr übersetzt! Bekommt Ihr das Ganze nicht mehr übersetzt. Ist das normal das die Methode SetWindowsHookEx keine statischen Instanzen der HINSTANCE verarbeiten kann?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1198893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1198893</guid><dc:creator><![CDATA[coder24h]]></dc:creator><pubDate>Thu, 28 Dec 2006 10:40:17 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse auf eine Funktion herausfinden on Thu, 28 Dec 2006 11:32:22 GMT]]></title><description><![CDATA[<p>Mein Fehler man muss eine statische Variable mindestens 1 mal initialisieren!</p>
<pre><code class="language-cpp">HINSTANCE ghInst = 0;
</code></pre>
<p>Danke für die Unterstützung.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1198913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1198913</guid><dc:creator><![CDATA[coder24h]]></dc:creator><pubDate>Thu, 28 Dec 2006 11:32:22 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse auf eine Funktion herausfinden on Thu, 28 Dec 2006 12:52:53 GMT]]></title><description><![CDATA[<p>Hmm... bei MS VC werden statische oder globale Variablen immer mit 0 initialisiert...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1198970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1198970</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 28 Dec 2006 12:52:53 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse auf eine Funktion herausfinden on Thu, 28 Dec 2006 22:27:47 GMT]]></title><description><![CDATA[<p>Ist nicht nur beim MSC so, sondern gilt generell.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1199233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1199233</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Thu, 28 Dec 2006 22:27:47 GMT</pubDate></item></channel></rss>