<?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[Typ eines ChildWindows erkennen]]></title><description><![CDATA[<p>Also, ich habe ein Handle auf ein Steuerelement. Diesem kann ich beispielsweise einen Click-Befehl senden.</p>
<p>Dieses Handle kann immer einem anderen Steuerelement zugehören und ist damit nicht klar differenzierbar.</p>
<p>Wie kann ich von einem solchen Steuerelement (ChildWindow) über sein Handle erfahren, was es ist?</p>
<p>Man sollte dazu sagen, dass diese Steuerelemente natürlich NICHT auf meiner eigenen Form sind, sondern in Fremdprogrammen.</p>
<p>Den Text eines Steuerelementes (z.B. Beschriftung eines Buttons) kann ich mir schon anzeigen lassen. Jedoch lässt sich nur bedingt daran erkennen, um was es sich handelt.</p>
<p>Wäre super, wenn jemand eine Idee hat.</p>
<p>PS: Ich hab mal schnell ein Beispiel geschrieben:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;windows.h&gt;
#include &lt;winuser.h&gt;
#include &quot;hWin.h&quot;

using namespace std;

int main( int argc, char* argv[] )
{
    const wchar_t* lpWindowTitle = L&quot;Rechner&quot;;
    const wchar_t* lpNewWinTitle = L&quot;myForm&quot;;	//SetWindowText( hWindow, lpNewWinTitle );
    const wchar_t* button_name   = L&quot;button1&quot;;

	HWND hWindow = FindWindow( NULL, lpWindowTitle );
	std::vector&lt;HWND&gt; hChild;
    GetChildWindows( hWindow, &amp;hChild );

	char* ChildTitle = new char[255]();

	for( int i = 0; i &lt; (int)hChild.size(); i++ )	
	{
		GetWindowTextA( hChild[i], ChildTitle, 255 );
		cout &lt;&lt; ChildTitle &lt;&lt; &quot;\t&quot; &lt;&lt; i &lt;&lt; endl;
	}

	int x = 1;

	while( x != 0 )
	{
		cin &gt;&gt; x;
		SendMessage( hChild[x], BM_CLICK, 0, 0 );
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/236147/typ-eines-childwindows-erkennen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Apr 2026 23:05:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/236147.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Mar 2009 13:20:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Typ eines ChildWindows erkennen on Fri, 13 Mar 2009 16:45:15 GMT]]></title><description><![CDATA[<p>Also, ich habe ein Handle auf ein Steuerelement. Diesem kann ich beispielsweise einen Click-Befehl senden.</p>
<p>Dieses Handle kann immer einem anderen Steuerelement zugehören und ist damit nicht klar differenzierbar.</p>
<p>Wie kann ich von einem solchen Steuerelement (ChildWindow) über sein Handle erfahren, was es ist?</p>
<p>Man sollte dazu sagen, dass diese Steuerelemente natürlich NICHT auf meiner eigenen Form sind, sondern in Fremdprogrammen.</p>
<p>Den Text eines Steuerelementes (z.B. Beschriftung eines Buttons) kann ich mir schon anzeigen lassen. Jedoch lässt sich nur bedingt daran erkennen, um was es sich handelt.</p>
<p>Wäre super, wenn jemand eine Idee hat.</p>
<p>PS: Ich hab mal schnell ein Beispiel geschrieben:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;windows.h&gt;
#include &lt;winuser.h&gt;
#include &quot;hWin.h&quot;

using namespace std;

int main( int argc, char* argv[] )
{
    const wchar_t* lpWindowTitle = L&quot;Rechner&quot;;
    const wchar_t* lpNewWinTitle = L&quot;myForm&quot;;	//SetWindowText( hWindow, lpNewWinTitle );
    const wchar_t* button_name   = L&quot;button1&quot;;

	HWND hWindow = FindWindow( NULL, lpWindowTitle );
	std::vector&lt;HWND&gt; hChild;
    GetChildWindows( hWindow, &amp;hChild );

	char* ChildTitle = new char[255]();

	for( int i = 0; i &lt; (int)hChild.size(); i++ )	
	{
		GetWindowTextA( hChild[i], ChildTitle, 255 );
		cout &lt;&lt; ChildTitle &lt;&lt; &quot;\t&quot; &lt;&lt; i &lt;&lt; endl;
	}

	int x = 1;

	while( x != 0 )
	{
		cin &gt;&gt; x;
		SendMessage( hChild[x], BM_CLICK, 0, 0 );
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1677998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1677998</guid><dc:creator><![CDATA[FrEEzE2046]]></dc:creator><pubDate>Fri, 13 Mar 2009 16:45:15 GMT</pubDate></item><item><title><![CDATA[Reply to Typ eines ChildWindows erkennen on Wed, 11 Mar 2009 16:03:39 GMT]]></title><description><![CDATA[<p>Wäre im WinApi Forum besser aufgehoben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1678159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1678159</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Wed, 11 Mar 2009 16:03:39 GMT</pubDate></item><item><title><![CDATA[Reply to Typ eines ChildWindows erkennen on Wed, 11 Mar 2009 16:30:54 GMT]]></title><description><![CDATA[<p>Un dein &quot;new char&quot; ist etwas wenig, wenn Du nacher sagst, dass er 255 Zeichen reinstopfen darf...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1678198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1678198</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 11 Mar 2009 16:30:54 GMT</pubDate></item><item><title><![CDATA[Reply to Typ eines ChildWindows erkennen on Wed, 11 Mar 2009 16:31:06 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-18363.html" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-58.html" rel="nofollow">C++/CLI mit .NET</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-4.html" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1678199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1678199</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Wed, 11 Mar 2009 16:31:06 GMT</pubDate></item><item><title><![CDATA[Reply to Typ eines ChildWindows erkennen on Wed, 11 Mar 2009 19:33:16 GMT]]></title><description><![CDATA[<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<p>Un dein &quot;new char&quot; ist etwas wenig, wenn Du nacher sagst, dass er 255 Zeichen reinstopfen darf...</p>
</blockquote>
<p>Ähm, dass ist selbstverständlich ein Tippfehler. Im Ernst: Hab ich nur schnell zusammengeschrieben, da liegt nicht das Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1678307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1678307</guid><dc:creator><![CDATA[FrEEzE2046]]></dc:creator><pubDate>Wed, 11 Mar 2009 19:33:16 GMT</pubDate></item><item><title><![CDATA[Reply to Typ eines ChildWindows erkennen on Thu, 12 Mar 2009 07:38:44 GMT]]></title><description><![CDATA[<p>Über GetClassName kannst Du die Fensterklasse erfahren, wenn es sich um ein Standard-Control handelt weißt Du damit schon ziemlich viel... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1678459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1678459</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 12 Mar 2009 07:38:44 GMT</pubDate></item><item><title><![CDATA[Reply to Typ eines ChildWindows erkennen on Thu, 12 Mar 2009 08:03:54 GMT]]></title><description><![CDATA[<p>FrEEzE2046 schrieb:</p>
<blockquote>
<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<p>Un dein &quot;new char&quot; ist etwas wenig, wenn Du nacher sagst, dass er 255 Zeichen reinstopfen darf...</p>
</blockquote>
<p>Ähm, dass ist selbstverständlich ein Tippfehler. Im Ernst: Hab ich nur schnell zusammengeschrieben, da liegt nicht das Problem.</p>
</blockquote>
<p>Na ja, aber mal grundsätzlich: wenn du hier ein Beispiel postest, musst du damit rechnen, dass sich das jemand kopiert, um es auszuprobieren und dir helfen zu können. Da ist es schon ärgerlich, wenn der Code voller Fehler ist, die einen daran hindern, das eigentliche Problem zu lösen. Genauso ärgerlich ist es, wenn man dann alle gefundenen Fehler mit Lösung hier erwähnt und dann liest: darum gehts gar nicht, ich hab mir nur keine Mühe beim Schreiben des Beispiels gegeben. Ist nachzuvollziehen, denke ich. <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/1678472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1678472</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Thu, 12 Mar 2009 08:03:54 GMT</pubDate></item><item><title><![CDATA[Reply to Typ eines ChildWindows erkennen on Fri, 13 Mar 2009 16:46:29 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Na ja, aber mal grundsätzlich: wenn du hier ein Beispiel postest, musst du damit rechnen, dass sich das jemand kopiert, um es auszuprobieren und dir helfen zu können. Da ist es schon ärgerlich, wenn der Code voller Fehler ist, die einen daran hindern, das eigentliche Problem zu lösen. Genauso ärgerlich ist es, wenn man dann alle gefundenen Fehler mit Lösung hier erwähnt und dann liest: darum gehts gar nicht, ich hab mir nur keine Mühe beim Schreiben des Beispiels gegeben. Ist nachzuvollziehen, denke ich. <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>Okay, da ist was dran. Im Prinzip hat mein Beispiel aber nichts direktes mit menier Frage zu tun. Ich wollte nur kurz zeigen, wofür ich das im Prinzip nutzen möchte.</p>
<p>Ich werde GetClassName mal ausprobieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1679493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1679493</guid><dc:creator><![CDATA[FrEEzE2046]]></dc:creator><pubDate>Fri, 13 Mar 2009 16:46:29 GMT</pubDate></item></channel></rss>