<?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[Fenster aus DLL]]></title><description><![CDATA[<p>hallo,<br />
hab ein fenster aus DLL heraus erzeugt und zwar genau bei DLL_PROCESS_ATTACH<br />
habe ich das fenster erzeugt. In DLL habe ich auch noch Exportfunktionen movewindow, diese soll das fenster bewegen, aber leider bleibt der ganze prozess bei fenster schleife stehen, funktionen in DLL können so nicht aufgerufen werden.<br />
wie kann ich ein fenster erzeugen und gleichzeitig funktionen aufrufen, die auf das fenster wirken sollen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/239147/fenster-aus-dll</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Apr 2026 19:03:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/239147.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 20 Apr 2009 00:45:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fenster aus DLL on Mon, 20 Apr 2009 00:47:33 GMT]]></title><description><![CDATA[<p>hallo,<br />
hab ein fenster aus DLL heraus erzeugt und zwar genau bei DLL_PROCESS_ATTACH<br />
habe ich das fenster erzeugt. In DLL habe ich auch noch Exportfunktionen movewindow, diese soll das fenster bewegen, aber leider bleibt der ganze prozess bei fenster schleife stehen, funktionen in DLL können so nicht aufgerufen werden.<br />
wie kann ich ein fenster erzeugen und gleichzeitig funktionen aufrufen, die auf das fenster wirken sollen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1698379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1698379</guid><dc:creator><![CDATA[JnZn558]]></dc:creator><pubDate>Mon, 20 Apr 2009 00:47:33 GMT</pubDate></item><item><title><![CDATA[Reply to Fenster aus DLL on Mon, 20 Apr 2009 04:51:12 GMT]]></title><description><![CDATA[<p>du könntest das Fenster bzw. die Schleife in einen Thread setzen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1698392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1698392</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 20 Apr 2009 04:51:12 GMT</pubDate></item><item><title><![CDATA[Reply to Fenster aus DLL on Mon, 20 Apr 2009 08:23:50 GMT]]></title><description><![CDATA[<p>gute idee. probier ich mal, danke, werde mich wieder melden, wenn's nicht klappt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1698468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1698468</guid><dc:creator><![CDATA[JnZn558]]></dc:creator><pubDate>Mon, 20 Apr 2009 08:23:50 GMT</pubDate></item><item><title><![CDATA[Reply to Fenster aus DLL on Mon, 20 Apr 2009 08:45:49 GMT]]></title><description><![CDATA[<p>Aus DLL_PROCESS_ATTACH sollten in keinem Fall komplexere UI Funktionen ausgeführt werden.<br />
1. Eine DLLMain ist nicht reentrant.<br />
2. Kannst Du beim laden Deiner DLL nicht davon ausgehen, das die User32.DLL bereits initialisiert ist.<br />
3. Ein Neuer Thread ist wohl hier der größte Unfug. Man kann aus Dllmain keinen neuen Thread starten. Das führt unweigerlich zu einem Deadlock (siehe 1.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1698483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1698483</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 20 Apr 2009 08:45:49 GMT</pubDate></item><item><title><![CDATA[Reply to Fenster aus DLL on Mon, 20 Apr 2009 17:02:53 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Aus DLL_PROCESS_ATTACH sollten in keinem Fall komplexere UI Funktionen ausgeführt werden.<br />
1. Eine DLLMain ist nicht reentrant.<br />
2. Kannst Du beim laden Deiner DLL nicht davon ausgehen, das die User32.DLL bereits initialisiert ist.<br />
3. Ein Neuer Thread ist wohl hier der größte Unfug. Man kann aus Dllmain keinen neuen Thread starten. Das führt unweigerlich zu einem Deadlock (siehe 1.)</p>
</blockquote>
<p>hast wohl recht. hast vielleicht eine bessere vorschlag für mein vorhaben.<br />
also, ein fenster aus dll erzeugen, und dieses per funktionen, in dll integriert sind, zu steuern.</p>
<p>ist zustand<br />
1.fenster erzeugt<br />
2.die funktion fenstererzeugung in einer thread gepackt.</p>
<p>gestartet, fenster zwar kurz zusehen, dann leider dll entladen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1698787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1698787</guid><dc:creator><![CDATA[JnZn558]]></dc:creator><pubDate>Mon, 20 Apr 2009 17:02:53 GMT</pubDate></item><item><title><![CDATA[Reply to Fenster aus DLL on Mon, 20 Apr 2009 17:26:22 GMT]]></title><description><![CDATA[<p>Eine DLL hat normalerweise kein eigenes Fenster. Man kann dieses aber problemlos einrichten und der aufrufenden Applikation mitteilen. Vorschlag: Richte eine DLL-Funktion mit der Übergabe der HWND der Applikation ein und teile dann mit SendMessage aus der DLL der Applikation das HWND des eingerichteten DLL-Fensters mit. Das geht so sicher, aber vielleicht auch einfacher?<br />
Diese Frage wurde hier im Forum schon mehrfach kontrovers diskutiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1698797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1698797</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Mon, 20 Apr 2009 17:26:22 GMT</pubDate></item><item><title><![CDATA[Reply to Fenster aus DLL on Mon, 20 Apr 2009 19:07:58 GMT]]></title><description><![CDATA[<p>1. Ein Fenster gehört zu dem Thread in dem es erzeugt wurde. Man kann Fensterfunktion und Message Queue nicht in unterschiedliche Threads packen.<br />
2. Du kannst ein fenster in jeder beliebigigen Funktion einer DLL erzeugen.<br />
3. Wie Bernie es schon schreib: Ein Fenster gehört zu einem Prozess und in dem Prozess wieder zu einem Thread! Ob DLL oder EXE das Fenster erzeugt ist wurscht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1698840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1698840</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 20 Apr 2009 19:07:58 GMT</pubDate></item></channel></rss>