<?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[Tastenkombination an eine Anwendung übertragen]]></title><description><![CDATA[<p>Hallo und vielen Dank für das Vorbeischauen.<br />
Ich habe schon einige Beiträge unter FAQ gelesen dabei habe ich diesen Code hier entdeckt:</p>
<pre><code class="language-cpp">HWND hwnd = FindWindow(&quot;TForm1&quot;, NULL);
    if(hwnd)
    {
        SetForegroundWindow(hwnd);
        keybd_event(VK_F5, 0, 0, 0);
        keybd_event(VK_F5, 0, KEYEVENTF_KEYUP, 0);
    }
</code></pre>
<p>Damit ist es möglich bei einer Anwendung ein Tastenereignis auszulösen(im diesen Fall F1). Was mich interessiert ist es auch möglich gleichzeitig mehrere Tastenereignisse zu simulieren? Also in meinem Fall muss ich eine Kombination von <strong>ALT+A</strong> an die Zielanwendung zu senden.</p>
<p>Mein Ziel ist es nach Möglichkeit keine Behandlungsroutinen in der Zielanwendung (TForm1) zu schreiben um die eingegangenen Ereignisse zu filtrieren, wenn das überhaupt möglich ist.</p>
<p>Vielen Dank die Hilfestellung<br />
coder24h</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/167979/tastenkombination-an-eine-anwendung-übertragen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 04:29:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167979.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 17 Dec 2006 11:33:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Tastenkombination an eine Anwendung übertragen on Sun, 17 Dec 2006 11:33:29 GMT]]></title><description><![CDATA[<p>Hallo und vielen Dank für das Vorbeischauen.<br />
Ich habe schon einige Beiträge unter FAQ gelesen dabei habe ich diesen Code hier entdeckt:</p>
<pre><code class="language-cpp">HWND hwnd = FindWindow(&quot;TForm1&quot;, NULL);
    if(hwnd)
    {
        SetForegroundWindow(hwnd);
        keybd_event(VK_F5, 0, 0, 0);
        keybd_event(VK_F5, 0, KEYEVENTF_KEYUP, 0);
    }
</code></pre>
<p>Damit ist es möglich bei einer Anwendung ein Tastenereignis auszulösen(im diesen Fall F1). Was mich interessiert ist es auch möglich gleichzeitig mehrere Tastenereignisse zu simulieren? Also in meinem Fall muss ich eine Kombination von <strong>ALT+A</strong> an die Zielanwendung zu senden.</p>
<p>Mein Ziel ist es nach Möglichkeit keine Behandlungsroutinen in der Zielanwendung (TForm1) zu schreiben um die eingegangenen Ereignisse zu filtrieren, wenn das überhaupt möglich ist.</p>
<p>Vielen Dank die Hilfestellung<br />
coder24h</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193324</guid><dc:creator><![CDATA[coder24h]]></dc:creator><pubDate>Sun, 17 Dec 2006 11:33:29 GMT</pubDate></item><item><title><![CDATA[Reply to Tastenkombination an eine Anwendung übertragen on Sun, 17 Dec 2006 12:08:50 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Du must eben nacheinander die einzelnen Events schicken, um zusammen ALT+A zu erzeugen. Schematisch sieht das also so aus<br />
- Sende KeyDown für ALT<br />
- Sende KeyDown für A<br />
- Sende KeyUp für A<br />
- Sende KeyUp für Alt</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193347</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 17 Dec 2006 12:08:50 GMT</pubDate></item><item><title><![CDATA[Reply to Tastenkombination an eine Anwendung übertragen on Sun, 17 Dec 2006 12:13:44 GMT]]></title><description><![CDATA[<p>Danke!<br />
Ich werde das mal versuchen hinzukriegen, hast du vielleicht den virtual key für Taste A?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193350</guid><dc:creator><![CDATA[coder24h]]></dc:creator><pubDate>Sun, 17 Dec 2006 12:13:44 GMT</pubDate></item><item><title><![CDATA[Reply to Tastenkombination an eine Anwendung übertragen on Sun, 17 Dec 2006 12:16:57 GMT]]></title><description><![CDATA[<p>Hallo</p>
<pre><code class="language-cpp">'A'
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193354</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 17 Dec 2006 12:16:57 GMT</pubDate></item><item><title><![CDATA[Reply to Tastenkombination an eine Anwendung übertragen on Sun, 17 Dec 2006 12:51:05 GMT]]></title><description><![CDATA[<p>Danke Akari, heute ist wohl nicht mein Tag. Ich bin deinem Tipp gefolgt, doch leider verhält sich das Programm nicht so wie ich das erwarten würde:</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
    const int KEYEVENTF_KEYDOWN = 3;

    HWND hwnd = FindWindow(&quot;TFormZiel&quot;, NULL);
    if(hwnd)
    {
        SetForegroundWindow(hwnd);

        keybd_event(VK_LMENU, 0, KEYEVENTF_KEYDOWN, 0);
        keybd_event('A', KEYEVENTF_KEYDOWN, 0, 0);

        keybd_event(VK_LMENU, 0, KEYEVENTF_KEYUP, 0);
        keybd_event('A', 0, KEYEVENTF_KEYUP, 0);
    }
}
</code></pre>
<p>Die Anwendung TFormZiel wird zwar gefunden in dem Fordergrund versetzt, doch die Kombination ALT+A kommt irgendwie nicht an !? Wende ich den Code auf das Formular TForm1, also die Anwendung wo dieser geschrieben ist, dann funktionier es richtig. Müsste man vielleicht noch etwas anderes beachten oder habe ich noch was übersehen?</p>
<p>:xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193385</guid><dc:creator><![CDATA[coder24h]]></dc:creator><pubDate>Sun, 17 Dec 2006 12:51:05 GMT</pubDate></item><item><title><![CDATA[Reply to Tastenkombination an eine Anwendung übertragen on Sun, 17 Dec 2006 15:12:44 GMT]]></title><description><![CDATA[<p>Hallo, hier ist eine richtige Lösung:</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
    HWND hwnd = FindWindow(&quot;TFormZiel&quot;, NULL);

    if(hwnd)
    {
        SetForegroundWindow(hwnd);

        //sendet ein ALT+A
        keybd_event(VK_LMENU, 0, 0, 0);
        keybd_event('A', 0, 0, 0);
        keybd_event('A', 0, KEYEVENTF_KEYUP,0);
        keybd_event(VK_LMENU, 0, KEYEVENTF_KEYUP, 0);

    }
}
</code></pre>
<p>cya All :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1193491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1193491</guid><dc:creator><![CDATA[coder24h]]></dc:creator><pubDate>Sun, 17 Dec 2006 15:12:44 GMT</pubDate></item><item><title><![CDATA[Reply to Tastenkombination an eine Anwendung übertragen on Thu, 04 Jan 2007 11:09:58 GMT]]></title><description><![CDATA[<p>Hallo ich möchte einen ganzen String (wie bei VB Sendkeys) senden.</p>
<p>wie geht das?</p>
<p>hab es so probiert aber daraus wird kleines a und die 2????????????</p>
<p>keybd_event('A', 0, 0, 0);<br />
keybd_event('A', 0, KEYEVENTF_KEYUP,0);<br />
keybd_event('b', 0, 0, 0);<br />
keybd_event('b', 0, KEYEVENTF_KEYUP,0);</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1202574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1202574</guid><dc:creator><![CDATA[zorro888]]></dc:creator><pubDate>Thu, 04 Jan 2007 11:09:58 GMT</pubDate></item><item><title><![CDATA[Reply to Tastenkombination an eine Anwendung übertragen on Thu, 04 Jan 2007 11:16:23 GMT]]></title><description><![CDATA[<p>zorro888 schrieb:</p>
<blockquote>
<p>hab es so probiert aber daraus wird kleines a</p>
</blockquote>
<p>Logisch. Überleg doch mal, welche Tasten du drücken musst, um ein großes A zu bekommen.</p>
<blockquote>
<p>und die 2????????????</p>
</blockquote>
<p>Geht's noch?<br />
'b' ist kein gültiger Keycode.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1202582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1202582</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 04 Jan 2007 11:16:23 GMT</pubDate></item><item><title><![CDATA[Reply to Tastenkombination an eine Anwendung übertragen on Sun, 18 Mar 2007 21:14:35 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>hab auch das Problem, dass das Fenster der externen Anwendung gefunden und aktiviert wird, diese aber immernoch minimiert ist. Somit wird die Tastenkombination nicht an die Anwendung übergeben.</p>
<p>Maximiere ich die Anwendung vorher manuell, so funktioniert alles.</p>
<p>Kann man das maximieren irgendwie vorher automatisieren, so dass es geschieht bevor die Tastenkombination übertragen wird?</p>
<p>Gruss<br />
ifa01</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1248016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248016</guid><dc:creator><![CDATA[ifa01]]></dc:creator><pubDate>Sun, 18 Mar 2007 21:14:35 GMT</pubDate></item><item><title><![CDATA[Reply to Tastenkombination an eine Anwendung übertragen on Sun, 18 Mar 2007 22:16:00 GMT]]></title><description><![CDATA[<p>ShowWindow(hwnd, SW_MAXIMIZE);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1248065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248065</guid><dc:creator><![CDATA[WebFritzi]]></dc:creator><pubDate>Sun, 18 Mar 2007 22:16:00 GMT</pubDate></item></channel></rss>