<?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[Tastendrücke Senden]]></title><description><![CDATA[<p>Servus, also ich wollte ein kleines Programm schreiben das Tastendrücke in ein Fenster sendet.</p>
<p>Funktioniert auch wenn man es mit keybd_event macht:<br />
//Tastenkombination STRG+A</p>
<pre><code class="language-cpp">keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event('A', 0, 0, 0); Sleep(50);
keybd_event(VK_CONTROL, 0,KEYEVENTF_KEYUP, 0);
</code></pre>
<p>Allerdings muss dazu das Fenster ja im Fordergrund sein.<br />
Also hab ich bei der weiteren Suche auf SendMessage gestoßen um etwas in ein Fenster das zum bsp. Minimiert ist zu senden.<br />
Einzelne Buchstaben kann ich mit:</p>
<pre><code class="language-cpp">SendMessage(eVehwnd,WM_CHAR,'A', 0);
</code></pre>
<p>absetzen.</p>
<p>Wenn ich jetz aber zum Bsp. wieder die Kombination STRG+A erzeugen will funktioniert das nicht.</p>
<pre><code class="language-cpp">HWND eVehwnd = FindWindow(NULL, &quot;EVE&quot;);

SendMessage(eVehwnd,WM_KEYDOWN,VK_CONTROL, 0); Sleep(50);
SendMessage(eVehwnd,WM_CHAR,'A', 0); Sleep(50);
SendMessage(eVehwnd,WM_KEYUP,VK_CONTROL, 0); Sleep(50);
</code></pre>
<p>Hab auch die FAQ angeschaut<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-165868.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-165868.html</a>:<br />
da steht SendMessage soll man dafür nicht verwenden. Aber warum?</p>
<p>So wie es für mich scheint kann ich VK_CONTROL weder mit WM_KEYDOWN noch WM_CHAR absetzen. Wie mach ich das dann mit SendMessage?</p>
<p>Oder muss ich das zwangsweise nun mit SendInput wie in der FAQ machen?</p>
<p>Gruß Andy</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/228336/tastendrücke-senden</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Apr 2026 19:22:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/228336.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Nov 2008 22:34:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Tastendrücke Senden on Wed, 26 Nov 2008 22:57:11 GMT]]></title><description><![CDATA[<p>Servus, also ich wollte ein kleines Programm schreiben das Tastendrücke in ein Fenster sendet.</p>
<p>Funktioniert auch wenn man es mit keybd_event macht:<br />
//Tastenkombination STRG+A</p>
<pre><code class="language-cpp">keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event('A', 0, 0, 0); Sleep(50);
keybd_event(VK_CONTROL, 0,KEYEVENTF_KEYUP, 0);
</code></pre>
<p>Allerdings muss dazu das Fenster ja im Fordergrund sein.<br />
Also hab ich bei der weiteren Suche auf SendMessage gestoßen um etwas in ein Fenster das zum bsp. Minimiert ist zu senden.<br />
Einzelne Buchstaben kann ich mit:</p>
<pre><code class="language-cpp">SendMessage(eVehwnd,WM_CHAR,'A', 0);
</code></pre>
<p>absetzen.</p>
<p>Wenn ich jetz aber zum Bsp. wieder die Kombination STRG+A erzeugen will funktioniert das nicht.</p>
<pre><code class="language-cpp">HWND eVehwnd = FindWindow(NULL, &quot;EVE&quot;);

SendMessage(eVehwnd,WM_KEYDOWN,VK_CONTROL, 0); Sleep(50);
SendMessage(eVehwnd,WM_CHAR,'A', 0); Sleep(50);
SendMessage(eVehwnd,WM_KEYUP,VK_CONTROL, 0); Sleep(50);
</code></pre>
<p>Hab auch die FAQ angeschaut<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-165868.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-165868.html</a>:<br />
da steht SendMessage soll man dafür nicht verwenden. Aber warum?</p>
<p>So wie es für mich scheint kann ich VK_CONTROL weder mit WM_KEYDOWN noch WM_CHAR absetzen. Wie mach ich das dann mit SendMessage?</p>
<p>Oder muss ich das zwangsweise nun mit SendInput wie in der FAQ machen?</p>
<p>Gruß Andy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1621486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1621486</guid><dc:creator><![CDATA[Death]]></dc:creator><pubDate>Wed, 26 Nov 2008 22:57:11 GMT</pubDate></item><item><title><![CDATA[Reply to Tastendrücke Senden on Thu, 27 Nov 2008 07:21:22 GMT]]></title><description><![CDATA[<p><a href="http://blog.m-ri.de/index.php/2007/12/27/die-unsitte-tastatureingaben-mit-wm_keydown-nachrichten-zu-simulieren/" rel="nofollow">http://blog.m-ri.de/index.php/2007/12/27/die-unsitte-tastatureingaben-mit-wm_keydown-nachrichten-zu-simulieren/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1621547</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1621547</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 27 Nov 2008 07:21:22 GMT</pubDate></item><item><title><![CDATA[Reply to Tastendrücke Senden on Thu, 27 Nov 2008 08:01:09 GMT]]></title><description><![CDATA[<p>ah ok thx habs mir grad mal durchgelesen, werds aber erst heut Abend ausprobieren können.<br />
Aber wie ist das wenn ich das richtig verstanden hab kann ich damit keinen Tastendruck an ein minimiertes Fenster Schicken?<br />
denn wenn ich z.b</p>
<pre><code class="language-cpp">HWND 
eVehwnd = FindWindow(NULL, &quot;EVE&quot;);

SendMessage(eVehwnd,WM_KEYDOWN,VK_F10, 0);
</code></pre>
<p>gemacht habe wurde z.B F10 an das minimierte Spiel Gesendet und ein neues Fenster geöffnet. Auch wenn es minimiert war.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1621573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1621573</guid><dc:creator><![CDATA[Death]]></dc:creator><pubDate>Thu, 27 Nov 2008 08:01:09 GMT</pubDate></item><item><title><![CDATA[Reply to Tastendrücke Senden on Thu, 27 Nov 2008 08:25:44 GMT]]></title><description><![CDATA[<p>Korrekt! Per Design kann ein minimiertes Fenster niemals den Focus haben, folgerichtig also auch niemals per SendInput irgend welche Eingabe erhalten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1621584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1621584</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 27 Nov 2008 08:25:44 GMT</pubDate></item><item><title><![CDATA[Reply to Tastendrücke Senden on Thu, 27 Nov 2008 10:41:36 GMT]]></title><description><![CDATA[<p>Okay vielen dank dann werde ich wohl kaum drumherum kommen das Fenster aktiv zulassen.<br />
Nur eine Frage noch:<br />
SendMessage(eVehwnd,WM_KEYDOWN,VK_CONTROL, 0);</p>
<p>Liegt das nun am SebdMessage mit WM_KEYDOWN das die Control Taste im anderen Fenster nicht gedrückt wird oder am andern Fenster?</p>
<p>vielen Dank für die Hilfe <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/1621658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1621658</guid><dc:creator><![CDATA[Death]]></dc:creator><pubDate>Thu, 27 Nov 2008 10:41:36 GMT</pubDate></item><item><title><![CDATA[Reply to Tastendrücke Senden on Thu, 27 Nov 2008 11:53:32 GMT]]></title><description><![CDATA[<p>Death schrieb:</p>
<blockquote>
<p>Okay vielen dank dann werde ich wohl kaum drumherum kommen das Fenster aktiv zulassen.<br />
Nur eine Frage noch:<br />
SendMessage(eVehwnd,WM_KEYDOWN,VK_CONTROL, 0);</p>
<p>Liegt das nun am SebdMessage mit WM_KEYDOWN das die Control Taste im anderen Fenster nicht gedrückt wird oder am andern Fenster?</p>
</blockquote>
<p>Das hängt davon ab wie eben geprüft wird ob die Taste gedrückt ist.<br />
Das senden der nachricht ist een nicht gleichzusezen mit dem Drücken der Taste.<br />
Der Key-State wird nicht geändert!<br />
Wenn man mit GetKeyState prüft ob die Ctrl taste unten ist dann ist die eben nicht physikalisch unten gewesen!</p>
<p>Ich habe doch den Link auf den Artikel gegeben. Da steht doch alles drin...<br />
Man kann einen Tastendruck nicht mit SendMessage simulieren!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1621715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1621715</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 27 Nov 2008 11:53:32 GMT</pubDate></item></channel></rss>