<?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[Welche Rolle spielen #define ?]]></title><description><![CDATA[<p>Ich habe ein</p>
<pre><code class="language-cpp">#define TESTNACHRICHT 12341
</code></pre>
<p>angelegt das Programm ausgeführt, auf das Senden der Nachricht reagiert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> funktionierte.</p>
<p>Als ich den Code dann in eine andere Anwendung eingebaut habe,<br />
kam die Message plötzlich nicht mehr in der WindowProc an.<br />
Obwohl ich zum Sendevorgang ein eindeutiges Fenster benannt habe,<br />
das die Message empfangen und abarbeiten sollte.</p>
<p>Nachdem ich den Wert 12341 auf was anderes geändert habe lief es wieder.</p>
<p>Kann mir das jemand kurz erklären?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186137/welche-rolle-spielen-define</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 09:38:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186137.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Jul 2007 12:15:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Welche Rolle spielen #define ? on Thu, 05 Jul 2007 12:15:10 GMT]]></title><description><![CDATA[<p>Ich habe ein</p>
<pre><code class="language-cpp">#define TESTNACHRICHT 12341
</code></pre>
<p>angelegt das Programm ausgeführt, auf das Senden der Nachricht reagiert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> funktionierte.</p>
<p>Als ich den Code dann in eine andere Anwendung eingebaut habe,<br />
kam die Message plötzlich nicht mehr in der WindowProc an.<br />
Obwohl ich zum Sendevorgang ein eindeutiges Fenster benannt habe,<br />
das die Message empfangen und abarbeiten sollte.</p>
<p>Nachdem ich den Wert 12341 auf was anderes geändert habe lief es wieder.</p>
<p>Kann mir das jemand kurz erklären?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318885</guid><dc:creator><![CDATA[Kunibert]]></dc:creator><pubDate>Thu, 05 Jul 2007 12:15:10 GMT</pubDate></item><item><title><![CDATA[Reply to Welche Rolle spielen #define ? on Thu, 05 Jul 2007 12:34:40 GMT]]></title><description><![CDATA[<p>Ein #define erzeugt eine einfache Textersetzung im Quelltext - jedes Vorkommen des Bezeichners TESTNACHRICHT wird ersetzt durch 12341, <strong>bevor</strong> der Compiler dein Programm zu Gesicht bekommt. Das klappt aber nur in der Übersetzungseinheit, in der das #define steht.</p>
<p>PS: Übrigens solltest du Nachrichten nicht mit einer willkürlichen Kennung versehen - Windows reserviert weite Teile des verfügbaren Wertebereichs für systemeigene Nachrichten und interne Nachrichten einzelner Controls, wenn du selber etwas in diesem Bereich festlegst, sind Kollisionen unausweichlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318899</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 05 Jul 2007 12:34:40 GMT</pubDate></item><item><title><![CDATA[Reply to Welche Rolle spielen #define ? on Thu, 05 Jul 2007 12:54:52 GMT]]></title><description><![CDATA[<p>Danke CStoll.</p>
<p>Wie kann ich mich an Vorgaben orientieren? Ich dachte je individueller<br />
der Bezeichner des define ist, umso eher vermeide ich solche Kollisionen?</p>
<p>Z.B. wird ja ein</p>
<pre><code class="language-cpp">#define TESTNACHRICHTHANNYUNDNANNY 123
</code></pre>
<p>nicht grad von irgendwem anders genutzt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318914</guid><dc:creator><![CDATA[Kunibert]]></dc:creator><pubDate>Thu, 05 Jul 2007 12:54:52 GMT</pubDate></item><item><title><![CDATA[Reply to Welche Rolle spielen #define ? on Thu, 05 Jul 2007 13:05:51 GMT]]></title><description><![CDATA[<p>er meinte nicht den namen sondern die zahl {o;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318919</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 05 Jul 2007 13:05:51 GMT</pubDate></item><item><title><![CDATA[Reply to Welche Rolle spielen #define ? on Thu, 05 Jul 2007 13:06:15 GMT]]></title><description><![CDATA[<p>Ja, der Name ist schon recht individuell, aber von dem sieht der Compiler überhaupt nichts mehr - der sieht nur den Wert 123 (und der ist alles andere als individuell). Für deine eigenen Nachrichten solltest du Werte relativ zu WM_APP oder WM_USER verwenden, die sind explizit für Eigennutzung vorgesehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318920</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 05 Jul 2007 13:06:15 GMT</pubDate></item><item><title><![CDATA[Reply to Welche Rolle spielen #define ? on Thu, 05 Jul 2007 13:11:41 GMT]]></title><description><![CDATA[<p>Mr Evil schrieb:</p>
<blockquote>
<p>er meinte nicht den namen sondern die zahl {o;</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> ouch!</p>
<pre><code class="language-cpp">#define IRGENDWAEGALWAS 0x8000
</code></pre>
<p>Das und das HWND des Empfängers in SendMessage würden also ausreichen<br />
um auf Nr.sicher zu gehen, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318922</guid><dc:creator><![CDATA[Kunibert]]></dc:creator><pubDate>Thu, 05 Jul 2007 13:11:41 GMT</pubDate></item><item><title><![CDATA[Reply to Welche Rolle spielen #define ? on Thu, 05 Jul 2007 13:15:56 GMT]]></title><description><![CDATA[<p>Wie gesagt, nimm keine <strong>absoluten</strong> Werte für deine Nachrichten. Damit kollidierst du mit hoher Wahrscheinlichkeit mit irgendeiner Systemnachricht. Besser ist so etwas:</p>
<pre><code class="language-cpp">#define WM_TESTNACHRICHT WM_APP+0
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1318928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318928</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 05 Jul 2007 13:15:56 GMT</pubDate></item><item><title><![CDATA[Reply to Welche Rolle spielen #define ? on Thu, 05 Jul 2007 13:20:04 GMT]]></title><description><![CDATA[<p>Ok, habe just in diesem Moment schreiben wollen, da ich in einer<br />
Anwendung eben dieses gesehen habe:</p>
<pre><code class="language-cpp">#define WM_TRAY_NOTIFY WM_APP + 1000
</code></pre>
<p>Dank euch, in der Sache geht mir nun ein <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="💡"
    /> auf <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/1318934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318934</guid><dc:creator><![CDATA[Kunibert]]></dc:creator><pubDate>Thu, 05 Jul 2007 13:20:04 GMT</pubDate></item><item><title><![CDATA[Reply to Welche Rolle spielen #define ? on Thu, 05 Jul 2007 17:33:07 GMT]]></title><description><![CDATA[<p>ich glaub man kann auch WM_USER + X nehmen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319113</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 05 Jul 2007 17:33:07 GMT</pubDate></item><item><title><![CDATA[Reply to Welche Rolle spielen #define ? on Thu, 05 Jul 2007 18:50:27 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Wie gesagt, nimm keine <strong>absoluten</strong> Werte für deine Nachrichten. Damit kollidierst du mit hoher Wahrscheinlichkeit mit irgendeiner Systemnachricht. Besser ist so etwas:</p>
<pre><code class="language-cpp">#define WM_TESTNACHRICHT WM_APP+0
</code></pre>
</blockquote>
<p>ist das kein absoluter wert? <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="😉"
    /><br />
wenn man ganz sicher gehen will, dass message id's nicht doppelt vorkommen: <a href="http://msdn2.microsoft.com/en-us/library/ms644947.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/ms644947.aspx</a><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/1319163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319163</guid><dc:creator><![CDATA[pale dog]]></dc:creator><pubDate>Thu, 05 Jul 2007 18:50:27 GMT</pubDate></item><item><title><![CDATA[Reply to Welche Rolle spielen #define ? on Fri, 06 Jul 2007 06:15:04 GMT]]></title><description><![CDATA[<p>pale dog schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>Wie gesagt, nimm keine <strong>absoluten</strong> Werte für deine Nachrichten. Damit kollidierst du mit hoher Wahrscheinlichkeit mit irgendeiner Systemnachricht. Besser ist so etwas:</p>
<pre><code class="language-cpp">#define WM_TESTNACHRICHT WM_APP+0
</code></pre>
</blockquote>
<p>ist das kein absoluter wert? <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>
</blockquote>
<p>Nein, das ist relativ zu WM_APP gesetzt <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="😉"
    /> (OK, WM_APP ist wiederum ein absoluter Wert, aber darum geht's hier nicht - der Wertebereich WM_APP..0xBFFF ist explizit für eigendefinierte Nachrichten der Applikation vorgesehen. (aber du hast recht, wenn man eindeutige Nachrichten-IDs für die Kommunikation zwischen verschiedenen Programmen braucht, ist RegisterMessage() der richtige Weg)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319350</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 06 Jul 2007 06:15:04 GMT</pubDate></item></channel></rss>