<?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[Tastendruck an das nicht vorne liegende Windows]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>und zwar meine Frage ist, ob ich einen simulierten Tastendruck an ein Windows schicken kann, dass 1. mir nicht gehört 2. hinten liegt. Zum Beispiel an den Firefox.</p>
<p>Man hat ja folgende Möglichkeit Tastendruck zu simulieren:</p>
<pre><code>SendMessage(hwnd, WM_KEYDOWN,VK_DELETE, 1L);
</code></pre>
<p><a href="http://msdn2.microsoft.com/en-us/library/ms644950.aspx" rel="nofollow">SendMessage</a></p>
<p>oder</p>
<pre><code>keybd_event(49,0,KEYEVENTF_KEYUP,0);
</code></pre>
<p>wobei ich mir denke, dass man ja beim ersten einen Tastendruck auch an hintenliegende Windwos schicken könnte, oder?</p>
<p>mfg supersass1</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/196848/tastendruck-an-das-nicht-vorne-liegende-windows</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 02:11:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/196848.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 03 Nov 2007 16:50:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Tastendruck an das nicht vorne liegende Windows on Sat, 03 Nov 2007 16:50:59 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>und zwar meine Frage ist, ob ich einen simulierten Tastendruck an ein Windows schicken kann, dass 1. mir nicht gehört 2. hinten liegt. Zum Beispiel an den Firefox.</p>
<p>Man hat ja folgende Möglichkeit Tastendruck zu simulieren:</p>
<pre><code>SendMessage(hwnd, WM_KEYDOWN,VK_DELETE, 1L);
</code></pre>
<p><a href="http://msdn2.microsoft.com/en-us/library/ms644950.aspx" rel="nofollow">SendMessage</a></p>
<p>oder</p>
<pre><code>keybd_event(49,0,KEYEVENTF_KEYUP,0);
</code></pre>
<p>wobei ich mir denke, dass man ja beim ersten einen Tastendruck auch an hintenliegende Windwos schicken könnte, oder?</p>
<p>mfg supersass1</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1397088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397088</guid><dc:creator><![CDATA[supersass1]]></dc:creator><pubDate>Sat, 03 Nov 2007 16:50:59 GMT</pubDate></item><item><title><![CDATA[Reply to Tastendruck an das nicht vorne liegende Windows on Sun, 04 Nov 2007 08:32:35 GMT]]></title><description><![CDATA[<p>Ein fremdes Windows gehört zu einem fremden Prozess. In einen solchen kann man<br />
nur einreifen, wenn man das Programm dazu selbst geschrieben hat und die<br />
Technik des globalen Datenaustausches zwischen Prozessen beherrscht. Sorry,<br />
geht wohl nicht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1397322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397322</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Sun, 04 Nov 2007 08:32:35 GMT</pubDate></item><item><title><![CDATA[Reply to Tastendruck an das nicht vorne liegende Windows on Sun, 04 Nov 2007 09:25:51 GMT]]></title><description><![CDATA[<p>hola</p>
<p>wenn du die fremde anwendung kurz in den vordergrund bringst, dann kannst du einen tastendruck in verwendung mit AttachThreadInput simulieren.</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1397337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397337</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Sun, 04 Nov 2007 09:25:51 GMT</pubDate></item><item><title><![CDATA[Reply to Tastendruck an das nicht vorne liegende Windows on Sun, 04 Nov 2007 11:06:27 GMT]]></title><description><![CDATA[<p>Meep Meep schrieb:</p>
<blockquote>
<p>hola</p>
<p>wenn du die fremde anwendung kurz in den vordergrund bringst, dann kannst du einen tastendruck in verwendung mit AttachThreadInput simulieren.</p>
<p>Meep Meep</p>
</blockquote>
<p>Du meinst quasi für den Bruchteil einer Sekunde das Window nach vorne holen.<br />
Und dann den Klick simulieren.</p>
<p>Wozu dient genau:</p>
<pre><code>AttachThreadInput
</code></pre>
<p>?</p>
<p>mfg supersass1</p>
<p>//Edit<br />
ich glaube das erledigt sich,<br />
<a href="http://www.microsoft.com/germany/msdn/library/visualtools/vb6/FensterInDenDesktopVordergrundBringen.mspx?mfr=true" rel="nofollow">http://www.microsoft.com/germany/msdn/library/visualtools/vb6/FensterInDenDesktopVordergrundBringen.mspx?mfr=true</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1397360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397360</guid><dc:creator><![CDATA[supersass1]]></dc:creator><pubDate>Sun, 04 Nov 2007 11:06:27 GMT</pubDate></item><item><title><![CDATA[Reply to Tastendruck an das nicht vorne liegende Windows on Mon, 05 Nov 2007 20:53:41 GMT]]></title><description><![CDATA[<p>In der MSDN heißt es:</p>
<blockquote>
<p>Um dieses Problem zu umgehen, können Sie sich der API Funktion AttachThreadInput bedienen, die Ihnen Zugriff auf die Eingabeverarbeitung eines anderen Threads bietet. Haben Sie diesen Zugriff erhalten, können Sie auch unter den neueren Windows-Versionen mit SetForegroundWindow wie erwartet arbeiten:</p>
</blockquote>
<p>Heißt das, ich kann mit</p>
<pre><code>AttachThreadInput
</code></pre>
<p>Tastatureingaben an das geAttachThreadInputete-Fenster schicken, wenn ich die ID aus lese und dessen Handle?</p>
<p>Oder was bringt mir diese AttachThreadInput()?</p>
<p>Davor heißt es in der MSDN</p>
<blockquote>
<p>Um ein Anwendungsfenster als aktives Fenster in den Vordergrund des Desktops zu bringen, ist die API Funktion SetForegroundWindow vorgesehen. Unter Windows 98, Windows Me und Windows 2000 jedoch reagiert diese Funktion anders als unter Windows 95 und Windows NT 4.0: Die neueren Windows-Versionen bringen ein Fenster nicht mehr in den Vordergrund des Desktops. Sie lassen stattdessen die Titelzeile des betroffenen Fensters (inklusive des entsprechenden Eintrags in der Taskleiste, sofern der aufrufende Thread der Vordergrund-Thread ist) blinken, um den Benutzer auf sich aufmerksam zu machen.</p>
</blockquote>
<p>Gilt dies auch für WinXP? Oder basiert WinXP auf NT4.0?<br />
Ich benutze WinXP, und habe schon oft ein blinkendes Fenster gesehen, man denke an ICQ/Trillian,...<br />
Doch benutze ich die Funktion SetForegroundWindow ein paar Sekunden verspätet, und tippe zu der Zeit in ein Editfeld, so wird das Fester (welches nich im Zusammenhang mit dem Editfeld steht) nicht bklinkend dargestellt, sondern gleich in den Vordergrund geholt.<br />
Doch der MSDN-Artikel sagt ja was anderes: <a href="http://www.microsoft.com/germany/msdn/library/visualtools/vb6/FensterInDenDesktopVordergrundBringen.mspx?mfr=true" rel="nofollow">http://www.microsoft.com/germany/msdn/library/visualtools/vb6/FensterInDenDesktopVordergrundBringen.mspx?mfr=true</a></p>
<p>mfg supersass1</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398336</guid><dc:creator><![CDATA[supersass1]]></dc:creator><pubDate>Mon, 05 Nov 2007 20:53:41 GMT</pubDate></item></channel></rss>