<?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[BN_CLICKED sowie tastatureingaben simulieren]]></title><description><![CDATA[<p>Guten Abend Zusammen,</p>
<p>was mir letztens erst aufgefallen ist:</p>
<p>Ich hab mir mal ein Programm geschrieben, das bei Buttons das BN_CLICKED-Ereignis auslöst, indem es ganz einfach diese Nachricht an die jeweilige Schaltfläche sendet. Nur funktioniert das bei einigen Programmen nicht... ?<br />
Wenn man jedoch mit der Maus manuell drauf klickt, so funktioniert es.<br />
(getestet mit RawWrite 0.7)<br />
Auch bei Spielen wie Gta San Andreas habe ich beobachtet, dass es im Gegensatz zur Vorgängerversion Gta Vice City nicht mehr möglich ist, Tastatureingaben über keybd_event oder das DotNet-Adäquat &quot;SendKeys&quot; an das Spiel zu senden und somit zu simulieren. Die Do-It-Yourself -Methode funktioniert auch hier wieder ^^ (also wenn man selbst die Tastatur in die Hand nimmt).</p>
<p>Sagt mal, wie machen die das eigentlich ? <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="😃"
    /></p>
<p>Greetings, Xzi-bit</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200100/bn_clicked-sowie-tastatureingaben-simulieren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 21:58:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200100.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Dec 2007 18:17:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to BN_CLICKED sowie tastatureingaben simulieren on Mon, 10 Dec 2007 18:17:50 GMT]]></title><description><![CDATA[<p>Guten Abend Zusammen,</p>
<p>was mir letztens erst aufgefallen ist:</p>
<p>Ich hab mir mal ein Programm geschrieben, das bei Buttons das BN_CLICKED-Ereignis auslöst, indem es ganz einfach diese Nachricht an die jeweilige Schaltfläche sendet. Nur funktioniert das bei einigen Programmen nicht... ?<br />
Wenn man jedoch mit der Maus manuell drauf klickt, so funktioniert es.<br />
(getestet mit RawWrite 0.7)<br />
Auch bei Spielen wie Gta San Andreas habe ich beobachtet, dass es im Gegensatz zur Vorgängerversion Gta Vice City nicht mehr möglich ist, Tastatureingaben über keybd_event oder das DotNet-Adäquat &quot;SendKeys&quot; an das Spiel zu senden und somit zu simulieren. Die Do-It-Yourself -Methode funktioniert auch hier wieder ^^ (also wenn man selbst die Tastatur in die Hand nimmt).</p>
<p>Sagt mal, wie machen die das eigentlich ? <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="😃"
    /></p>
<p>Greetings, Xzi-bit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418308</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 10 Dec 2007 18:17:50 GMT</pubDate></item><item><title><![CDATA[Reply to BN_CLICKED sowie tastatureingaben simulieren on Mon, 10 Dec 2007 18:49:48 GMT]]></title><description><![CDATA[<p>Xzibit schrieb:</p>
<blockquote>
<p>Ich hab mir mal ein Programm geschrieben, das bei Buttons das BN_CLICKED-Ereignis auslöst, indem es ganz einfach diese Nachricht an die jeweilige Schaltfläche sendet.<br />
Nur funktioniert das bei einigen Programmen nicht... ?</p>
</blockquote>
<p>Wenn z.B. ein Button gesubclassed ist, dann kannste ein BN_CLICKED-Ereignis auch zusammenfrickeln :</p>
<pre><code class="language-cpp">(...)
  case 0x00F3 : { // BM_SETSTATE
   switch (wparam) {
    case  0 : {btn1000-&gt;lock_lbtn = 0; break; } // FLAG SETZEN
    default : {btn1000-&gt;lock_lbtn = 1; break; } // TRUE, HIGHLIGHTED
   }
   break;
  }

  case 0x0202 : { // WM_LBUTTONUP
   if (btn1000-&gt;lock_lbtn == 1) { // FLAG AUSWERTEN
    btn1000-&gt;appnotify (btn1000-&gt;appself,btn1000-&gt;id,msg,0,0);  // BUTTON CLICKED MOUSE LEFT
   }
   break;
  }
(...)
</code></pre>
<p>Auf ein BN_CLICKED braucht dann nicht mehr reagiert zu werden.<br />
So oder ähnlich läufts auch mit den anderen Ereignissen. Hehehe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418341</guid><dc:creator><![CDATA[antischummler]]></dc:creator><pubDate>Mon, 10 Dec 2007 18:49:48 GMT</pubDate></item></channel></rss>