<?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[Message erzeugen]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich möchte am Parallelport LPT1 in regelmäßigen Abständen oder bei Änderung den Zustand der Datenbits abfragen. Dafür verwende ich den Treiber inpout32.dll, der in einer Konsonlenanwendung auch wunderbar funktioniert. Unter Windows möchte ich den Zustand des Ports zunächst in der Statuszeile eines einfachen Fensters darstellen und zwar so, dass er ständig oder bei Änderung aktualisiert wird. Leider bin ich blutiger Anfänger, was die Win-Api betrifft und so wird die Anzeige derzeit nur erneuert, wenn ich die Maus über das Fenster bewege. Ich habe bereits herausgefunden, dass ein Ereignis fehlt, dass das entsprechende Unterprogramm zur Portabfrage aufruft.<br />
Vielleicht kann mir jemand nen Tipp geben, wie ich das am besten erreiche. Polling möchte ich vermeiden. Es gibt wohl Timer für diesen Zweck, aber die scheinen zu viele Resourcen zu verbrauchen, zumal eine Änderung des Ports etwa 1 bis 10 mal pro Sekunde zu erwarten ist. Ein Freund riet mir, das Problem über einen Thread zu lösen, der mehr oder weniger regelmäßig eine Message sendet. Was ist davon zu halten ?</p>
<p>Ich verwende C++ und die Dev-C++ Programmierumgebung.</p>
<p>Danke schonmal, Florian</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/184317/message-erzeugen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Jul 2026 07:28:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184317.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 14 Jun 2007 09:03:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Message erzeugen on Thu, 14 Jun 2007 09:03:18 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich möchte am Parallelport LPT1 in regelmäßigen Abständen oder bei Änderung den Zustand der Datenbits abfragen. Dafür verwende ich den Treiber inpout32.dll, der in einer Konsonlenanwendung auch wunderbar funktioniert. Unter Windows möchte ich den Zustand des Ports zunächst in der Statuszeile eines einfachen Fensters darstellen und zwar so, dass er ständig oder bei Änderung aktualisiert wird. Leider bin ich blutiger Anfänger, was die Win-Api betrifft und so wird die Anzeige derzeit nur erneuert, wenn ich die Maus über das Fenster bewege. Ich habe bereits herausgefunden, dass ein Ereignis fehlt, dass das entsprechende Unterprogramm zur Portabfrage aufruft.<br />
Vielleicht kann mir jemand nen Tipp geben, wie ich das am besten erreiche. Polling möchte ich vermeiden. Es gibt wohl Timer für diesen Zweck, aber die scheinen zu viele Resourcen zu verbrauchen, zumal eine Änderung des Ports etwa 1 bis 10 mal pro Sekunde zu erwarten ist. Ein Freund riet mir, das Problem über einen Thread zu lösen, der mehr oder weniger regelmäßig eine Message sendet. Was ist davon zu halten ?</p>
<p>Ich verwende C++ und die Dev-C++ Programmierumgebung.</p>
<p>Danke schonmal, Florian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1305448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1305448</guid><dc:creator><![CDATA[Florian_88]]></dc:creator><pubDate>Thu, 14 Jun 2007 09:03:18 GMT</pubDate></item><item><title><![CDATA[Reply to Message erzeugen on Thu, 14 Jun 2007 09:06:36 GMT]]></title><description><![CDATA[<p>Florian_88 schrieb:</p>
<blockquote>
<p>Ein Freund riet mir, das Problem über einen Thread zu lösen, der mehr oder weniger regelmäßig eine Message sendet. Was ist davon zu halten ?</p>
</blockquote>
<p>ich finde das ist eine gute idee.<br />
der thread pollt und hat einen kleinen Sleep() drin (50ms oder so).<br />
hat er eine änderung festgestellt, dann schickt er eine message an dein fensterchen (mit PostMessage() o.ä.)<br />
<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/1305452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1305452</guid><dc:creator><![CDATA[pale dog]]></dc:creator><pubDate>Thu, 14 Jun 2007 09:06:36 GMT</pubDate></item><item><title><![CDATA[Reply to Message erzeugen on Thu, 14 Jun 2007 09:09:12 GMT]]></title><description><![CDATA[<p>Die Erneuerung der Anzeige bei Mausbewegungen geschiet dadurch, daß bei JEDER Veränderung des Fensters, also auch das Verschieben des Cursors, eine WM_PAINT-Nachricht gesendet wird. Mit dieser Nachricht wird das Fenster aktualisiert.<br />
Man kann die WM_PAINT selbst auslösen, indem man den Fensterbereich für ungültig erklärt mit InvalidateRect(...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1305455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1305455</guid><dc:creator><![CDATA[Elektronix]]></dc:creator><pubDate>Thu, 14 Jun 2007 09:09:12 GMT</pubDate></item><item><title><![CDATA[Reply to Message erzeugen on Thu, 14 Jun 2007 09:15:49 GMT]]></title><description><![CDATA[<p>Elektronix schrieb:</p>
<blockquote>
<p>Die Erneuerung der Anzeige bei Mausbewegungen geschiet dadurch ... das Verschieben des Cursors, eine WM_PAINT-Nachricht gesendet wird.</p>
</blockquote>
<p>das wäre ja schlimm, dann würde bei jeder mausbewegung jedes fenster unter dem mauscursor wild flackern...;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1305466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1305466</guid><dc:creator><![CDATA[pale dog]]></dc:creator><pubDate>Thu, 14 Jun 2007 09:15:49 GMT</pubDate></item><item><title><![CDATA[Reply to Message erzeugen on Thu, 14 Jun 2007 10:46:52 GMT]]></title><description><![CDATA[<p>könnnen auf treiber-ebene nicht Interrupt entgegen genommen werden...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1305552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1305552</guid><dc:creator><![CDATA[Basingstoke]]></dc:creator><pubDate>Thu, 14 Jun 2007 10:46:52 GMT</pubDate></item><item><title><![CDATA[Reply to Message erzeugen on Thu, 14 Jun 2007 11:43:38 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>für so einen Thread mit eingbautem sleep() gibt es doch sicher schon fertigen Code. Das muss doch ein häufiges Problem sein. Hat jemand eine Idee, wo man sowas findet ? Wo im Programm müsste ich den denn starten, nachdem ich ihn initialisiert habe.</p>
<p>Eine Interrupt-Abfrage wäre natürlich ideal. Allerdings weiß ich nicht, welcher Interrupt dafür geeignet wäre. Auch fühle ich mich nicht erfahren genug, um einen Treiber zu programmieren. Gibt es dafür vielleicht auch eine fertig-Lösung ?</p>
<p>Florian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1305603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1305603</guid><dc:creator><![CDATA[Florian_88]]></dc:creator><pubDate>Thu, 14 Jun 2007 11:43:38 GMT</pubDate></item><item><title><![CDATA[Reply to Message erzeugen on Fri, 15 Jun 2007 07:00:26 GMT]]></title><description><![CDATA[<p>pale dog schrieb:</p>
<blockquote>
<p>Elektronix schrieb:</p>
<blockquote>
<p>Die Erneuerung der Anzeige bei Mausbewegungen geschiet dadurch ... das Verschieben des Cursors, eine WM_PAINT-Nachricht gesendet wird.</p>
</blockquote>
<p>das wäre ja schlimm, dann würde bei jeder mausbewegung jedes fenster unter dem mauscursor wild flackern...;)</p>
</blockquote>
<p>Wie geht's denn sonst? Anderenfalls müßte doch der Pfeil immer stehen bleiben bzw einen Schwanz hinter sich herziehen. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1306252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306252</guid><dc:creator><![CDATA[Elektronix]]></dc:creator><pubDate>Fri, 15 Jun 2007 07:00:26 GMT</pubDate></item><item><title><![CDATA[Reply to Message erzeugen on Fri, 15 Jun 2007 07:36:59 GMT]]></title><description><![CDATA[<p>Elektronix schrieb:</p>
<blockquote>
<p>pale dog schrieb:</p>
<blockquote>
<p>Elektronix schrieb:</p>
<blockquote>
<p>Die Erneuerung der Anzeige bei Mausbewegungen geschiet dadurch ... das Verschieben des Cursors, eine WM_PAINT-Nachricht gesendet wird.</p>
</blockquote>
<p>das wäre ja schlimm, dann würde bei jeder mausbewegung jedes fenster unter dem mauscursor wild flackern...;)</p>
</blockquote>
<p>Wie geht's denn sonst? Anderenfalls müßte doch der Pfeil immer stehen bleiben bzw einen Schwanz hinter sich herziehen. <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>
</blockquote>
<p>wahrscheinlich wird bei mausbewegungen einfach das hintergrundbitmap restauriert, eventuell mit unterstützung der grafikhardware (sprites wie beim C64)...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306287</guid><dc:creator><![CDATA[pale dog]]></dc:creator><pubDate>Fri, 15 Jun 2007 07:36:59 GMT</pubDate></item><item><title><![CDATA[Reply to Message erzeugen on Fri, 15 Jun 2007 07:46:41 GMT]]></title><description><![CDATA[<p>Das Cursor-zeichnen übernimmt die Graka (&quot;Hardware-Cursor&quot;), wenn man Hardware-Beschleunigung etwas runterschraubt wird der nicht mehr von der Graka gezeichnet, aber auch dann wird nicht jedes mal ne WM_PAINT Nachricht verschickt <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=";D"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306298</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Fri, 15 Jun 2007 07:46:41 GMT</pubDate></item><item><title><![CDATA[Reply to Message erzeugen on Fri, 15 Jun 2007 08:16:27 GMT]]></title><description><![CDATA[<p>Aha, ok, wieder was dazugelernt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> <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>
<p>Allerdings verstehe ich das hier dann nicht:</p>
<p>Florian_88 schrieb:</p>
<blockquote>
<p>so wird die Anzeige derzeit nur erneuert, wenn ich die Maus über das Fenster bewege.</p>
</blockquote>
<p>Denn wenn die Anzeige aktualisiert wird, heißt daß doch, daß die WM_PAINT angekommen ist... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1306321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306321</guid><dc:creator><![CDATA[Elektronix]]></dc:creator><pubDate>Fri, 15 Jun 2007 08:16:27 GMT</pubDate></item><item><title><![CDATA[Reply to Message erzeugen on Fri, 15 Jun 2007 08:39:12 GMT]]></title><description><![CDATA[<p>Elektronix schrieb:</p>
<blockquote>
<p>Denn wenn die Anzeige aktualisiert wird, heißt daß doch, daß die WM_PAINT angekommen ist... <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>
</blockquote>
<p>WM_PAINT wird nicht gesendet, wenn man die mouse bewegt. WM_SETCURSOR und ein paar andere aber. hast du ein message-spy tool? (spy++ o.ä.) dann kannste es sehen...<br />
<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/1306339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306339</guid><dc:creator><![CDATA[pale dog]]></dc:creator><pubDate>Fri, 15 Jun 2007 08:39:12 GMT</pubDate></item><item><title><![CDATA[Reply to Message erzeugen on Fri, 15 Jun 2007 16:00:29 GMT]]></title><description><![CDATA[<p>pale dog schrieb:</p>
<blockquote>
<p>WM_PAINT wird nicht gesendet, wenn man die mouse bewegt.</p>
</blockquote>
<p>Exakt. Denn wenn man die Maus bewegt, sorgt Windows selbst für das neuzeichnen an 'diesen kleinen Stellen'.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306704</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Fri, 15 Jun 2007 16:00:29 GMT</pubDate></item></channel></rss>