<?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[C&#x2F;C++ Hooks]]></title><description><![CDATA[<p>Hi<br />
Ich möchte ein Konsolenanwendung schreiben, die einige Tastatureingaben einfach ignoriert.<br />
Ich habe schon gegoogelt und herausgefunden, dass das mit Hooks geht. Gibt es noch eine andere Möglichkeit außer hooks dies zu machen. Und warum funktioniert dieser Quelltext hier nicht:<br />
Ja ich weiß ich bin noch ein anfänger <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>
<pre><code class="language-cpp">/*http://www.tutorials.de/forum/c-c/240771-tastatureingabe-einlesen-abfangen.html*/
#include &lt;windows.h&gt;
#include &lt;iostream&gt;
using namespace std;
LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam);
HHOOK hKBHook;
LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam)
{

  //Wert != 0 zurückgeben, damit die Nachricht nicht weiterverarbeitet wird
  return 1;
}

int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) 
{ 

hKBHook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, 0, 0);    
cout &lt;&lt;&quot; ss&quot;&lt;&lt; endl;
int s;
cin &gt;&gt; s;

 return 0;   
}
</code></pre>
<p>Hat jemand eine Idee <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/245554/c-c-hooks</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Apr 2026 20:01:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/245554.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Jul 2009 15:57:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C&#x2F;C++ Hooks on Wed, 15 Jul 2009 15:57:58 GMT]]></title><description><![CDATA[<p>Hi<br />
Ich möchte ein Konsolenanwendung schreiben, die einige Tastatureingaben einfach ignoriert.<br />
Ich habe schon gegoogelt und herausgefunden, dass das mit Hooks geht. Gibt es noch eine andere Möglichkeit außer hooks dies zu machen. Und warum funktioniert dieser Quelltext hier nicht:<br />
Ja ich weiß ich bin noch ein anfänger <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>
<pre><code class="language-cpp">/*http://www.tutorials.de/forum/c-c/240771-tastatureingabe-einlesen-abfangen.html*/
#include &lt;windows.h&gt;
#include &lt;iostream&gt;
using namespace std;
LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam);
HHOOK hKBHook;
LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam)
{

  //Wert != 0 zurückgeben, damit die Nachricht nicht weiterverarbeitet wird
  return 1;
}

int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) 
{ 

hKBHook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, 0, 0);    
cout &lt;&lt;&quot; ss&quot;&lt;&lt; endl;
int s;
cin &gt;&gt; s;

 return 0;   
}
</code></pre>
<p>Hat jemand eine Idee <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1743644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1743644</guid><dc:creator><![CDATA[19freddy92]]></dc:creator><pubDate>Wed, 15 Jul 2009 15:57:58 GMT</pubDate></item><item><title><![CDATA[Reply to C&#x2F;C++ Hooks on Wed, 15 Jul 2009 18:47:46 GMT]]></title><description><![CDATA[<p>Ich glaube das liegt daran dass globale Hooks ihr hook-Procedure aus einer dll zur Verfügung stellen müssen. Sie wird ja allen laufenden Threads benutzt.<br />
<a href="http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1743741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1743741</guid><dc:creator><![CDATA[Cpt. Hook]]></dc:creator><pubDate>Wed, 15 Jul 2009 18:47:46 GMT</pubDate></item><item><title><![CDATA[Reply to C&#x2F;C++ Hooks on Thu, 16 Jul 2009 10:15:49 GMT]]></title><description><![CDATA[<p>Hi.<br />
Danke ich bin jetzt weiter gekommen. <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="🙂"
    /><br />
Jetzt habe icj aber ein neues Problem. Wenn ich hook.exe öffne kommt folgendes Windows fehler:<br />
Hook.exe hat ein Problem festgestellt und muss beendet werden.</p>
<p>Hier der Quelltext:<br />
Hook.exe</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;iostream&gt;
using namespace std;
typedef BOOL (*InstallHook)();
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int)
{
	HMODULE hDll = LoadLibrary(&quot;Hook.dll&quot;);

	InstallHook ProcAdd = (InstallHook)GetProcAddress(hDll, &quot;InstallHook&quot;);

	ProcAdd();

cout &lt;&lt; &quot;hallo&quot;&lt;&lt;  endl;
int a;
cin &gt;&gt; a;

	FreeLibrary(hDll);

	return 0;
}
</code></pre>
<p>Hook.dll</p>
<pre><code class="language-cpp">/* Replace &quot;dll.h&quot; with the name of your header */

#include &lt;windows.h&gt;
#include &lt;iostream&gt;
using namespace std;
#pragma data_seg

HINSTANCE	g_hInstance;
HHOOK		g_hHook;

BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID)
{

	return TRUE;
}

LRESULT __declspec(dllexport)__stdcall  CALLBACK HookProc(int nCode,WPARAM wParam, 
                            LPARAM lParam)
                            {

	return 1;
}

BOOL __declspec(dllexport)__stdcall InstallHook()
{
  cout &lt;&lt; &quot;Hallo&quot; &lt;&lt; endl;
    g_hHook =SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)HookProc, g_hInstance, 0);

    return TRUE;
}
</code></pre>
<p>Hat jemand eine Idee??? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744020</guid><dc:creator><![CDATA[19freddy92]]></dc:creator><pubDate>Thu, 16 Jul 2009 10:15:49 GMT</pubDate></item><item><title><![CDATA[Reply to C&#x2F;C++ Hooks on Thu, 16 Jul 2009 11:20:02 GMT]]></title><description><![CDATA[<p>yo MSDN lesen bevor man mit irgendwelchen hook frickeleien beginnt. programmieren sollte man auch können. und man sollte wissen was 'ne sufu ist. und man sollte sie benutzen können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744064</guid><dc:creator><![CDATA[naja easy, oder?]]></dc:creator><pubDate>Thu, 16 Jul 2009 11:20:02 GMT</pubDate></item><item><title><![CDATA[Reply to C&#x2F;C++ Hooks on Thu, 16 Jul 2009 12:18:48 GMT]]></title><description><![CDATA[<p>19freddy92 schrieb:</p>
<blockquote>
<p>Hi<br />
Ich möchte ein Konsolenanwendung schreiben, die einige Tastatureingaben einfach ignoriert.</p>
<p>Hat jemand eine Idee <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

int main()
{
	char ignores[] = {'A', 'a', 'X', 'x'};

	char in;
	int ind;
	int ignore;

	while((in = getch()) != 'E')
	{
		ignore = 0;
		for(ind = 0; ind &lt; sizeof(ignores); ++ind)
			if(in == ignores[ind])
			{
				++ignore;
				break;
			}

		if(!ignore)
			printf(&quot;%c&quot;, in);
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1744146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744146</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Thu, 16 Jul 2009 12:18:48 GMT</pubDate></item></channel></rss>