<?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[setwindowshookex und key aendern]]></title><description><![CDATA[<p>hi,</p>
<p>ich hoffe mir kann jemand helfen... <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>
<p>ich haben einen globalen hook erstellt.<br />
jetzt moechte ich z.B. wenn die taste gedrueckt<br />
wird einen anderen tastencode weiterleiten.<br />
z.b.<br />
der benutzer drueck 'a'. jetzt soll aber nicht<br />
'a' sondern 'A' erscheinen (in einem beliebigen<br />
textfeld/anwendung/was auch immer).</p>
<p>deshalb wollte ich es mit einem globalen hook machen:<br />
taste abfangen-&gt;taste aendern-&gt;geaenderte taste weiterleiten.</p>
<p>geht das ueberhaept? kann mir da jemand vielleicht weiterhelfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/77605/setwindowshookex-und-key-aendern</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Apr 2026 03:35:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/77605.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Jun 2004 18:51:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to setwindowshookex und key aendern on Tue, 22 Jun 2004 18:51:38 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>ich hoffe mir kann jemand helfen... <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>
<p>ich haben einen globalen hook erstellt.<br />
jetzt moechte ich z.B. wenn die taste gedrueckt<br />
wird einen anderen tastencode weiterleiten.<br />
z.b.<br />
der benutzer drueck 'a'. jetzt soll aber nicht<br />
'a' sondern 'A' erscheinen (in einem beliebigen<br />
textfeld/anwendung/was auch immer).</p>
<p>deshalb wollte ich es mit einem globalen hook machen:<br />
taste abfangen-&gt;taste aendern-&gt;geaenderte taste weiterleiten.</p>
<p>geht das ueberhaept? kann mir da jemand vielleicht weiterhelfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545989</guid><dc:creator><![CDATA[entelechie]]></dc:creator><pubDate>Tue, 22 Jun 2004 18:51:38 GMT</pubDate></item><item><title><![CDATA[Reply to setwindowshookex und key aendern on Wed, 23 Jun 2004 06:06:52 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>ähm ja.... wo hängst denn? Irgendwie geht da keine direkte Frage hervor.... aber ich nehme mal meine Wunderkatze und reibe sie ein bis zweimal an meinem Toaster. Dann gibt es meistens ein klares Bild....</p>
<p>*rubbel*</p>
<p>Naja:</p>
<p>Wenns dir darum geht aus dem Buchstaben die du bekommst einen Tastencode zu basteln, dann nehme VkKeyScan.</p>
<p>Du wirst ja sowas wie ein MsgHook haben der dir die WM_KEYDOWN bzw KEYUP Msg abfängt. Im wParamteil steht der VK_KEY - Code und im lParamteil steht:</p>
<p>MSDN schrieb:</p>
<blockquote>
<p>lParam<br />
Specifies the repeat count, scan code, extended-key flag, context code, previous key-state flag, and transition-state flag, as shown in the following table.<br />
0-15<br />
Specifies the repeat count for the current message. The value is the number of times the keystroke is autorepeated as a result of the user holding down the key. If the keystroke is held long enough, multiple messages are sent. However, the repeat count is not cumulative.<br />
16-23<br />
Specifies the scan code. The value depends on the OEM.<br />
24<br />
Specifies whether the key is an extended key, such as the right-hand ALT and CTRL keys that appear on an enhanced 101- or 102-key keyboard. The value is 1 if it is an extended key; otherwise, it is 0.<br />
25-28<br />
Reserved; do not use.<br />
29<br />
Specifies the context code. The value is always 0 for a WM_KEYDOWN message.<br />
30<br />
Specifies the previous key state. The value is 1 if the key is down before the message is sent, or it is zero if the key is up.<br />
31<br />
Specifies the transition state. The value is always zero for a WM_KEYDOWN message.</p>
</blockquote>
<p>Im Prinzip alles was du benötigst. Oder wie lautet deine richtige Frage??</p>
<p>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/546185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/546185</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Wed, 23 Jun 2004 06:06:52 GMT</pubDate></item><item><title><![CDATA[Reply to setwindowshookex und key aendern on Wed, 23 Jun 2004 15:20:15 GMT]]></title><description><![CDATA[<p>Hellsgore schrieb:</p>
<blockquote>
<p>aber ich nehme mal meine Wunderkatze und reibe sie ein bis zweimal an meinem Toaster. Dann gibt es meistens ein klares Bild....</p>
<p>*rubbel*</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Was ist das denn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/546520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/546520</guid><dc:creator><![CDATA[mkcore]]></dc:creator><pubDate>Wed, 23 Jun 2004 15:20:15 GMT</pubDate></item><item><title><![CDATA[Reply to setwindowshookex und key aendern on Wed, 23 Jun 2004 15:50:23 GMT]]></title><description><![CDATA[<p><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>
<p>ok, ich versuchs nochmal...<br />
sorry wenn ich mich schlecht ausgedrueckt hab <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>
<p>folgendes hab ich bzw. moechte ich.</p>
<p>KeyboardProc ist die funktion die aufgerufen wird wenn<br />
eine taste gedrueckt wird.</p>
<p>bsp.:<br />
der benutzer soll wenn er - irgendwo in windows -<br />
die taste 'a' drueckt ein 'b' bekommen.</p>
<pre><code class="language-cpp">LRESULT CALLBACK KeyboardProc( int nCode, WPARAM wParam, LPARAM lParam)
{
	BYTE ks[256];
	GetKeyboardState(ks);
	WORD w;
	UINT scan;
	scan=0;
	ToAscii(wParam,scan,ks,&amp;w,0);
	if ( (char)w == 'a' ) // mache jedes a zu einem b
		CallNextHookEx( hkb, ncode, 'b', lParam ); // leite b statt a weiter

	return CallNextHookEx( hkb, nCode, wParam, lParam );
}
</code></pre>
<p>ich kriege heraus, welche taste gedrueck wurde<br />
(ueber toascii). jetzt moechte ich:</p>
<p>a)<br />
den keycode so aendern, dass es kein 'a' mehr is<br />
sondern ein 'b'<br />
(es gibt zwar ToUnicode aber ich blick nicht durch<br />
wie ich die benutzen kann :/)</p>
<p>b)<br />
nicht der urspruengliche tastendruck, sondern der neue,<br />
von mir in der KeyboardProc funktion veraenderte,<br />
soll zum benutzer weitergeleitet werden.</p>
<p>wie ich den hook installiere etc. weiss ich; das klappt auch.</p>
<p>so, ich hoffe das war verstaendlicher und mir kann jemand<br />
helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/546535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/546535</guid><dc:creator><![CDATA[entelechie]]></dc:creator><pubDate>Wed, 23 Jun 2004 15:50:23 GMT</pubDate></item><item><title><![CDATA[Reply to setwindowshookex und key aendern on Thu, 24 Jun 2004 18:25:44 GMT]]></title><description><![CDATA[<p>hmm.<br />
hat keiner ne ahnung? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/547383</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/547383</guid><dc:creator><![CDATA[entelechie]]></dc:creator><pubDate>Thu, 24 Jun 2004 18:25:44 GMT</pubDate></item><item><title><![CDATA[Reply to setwindowshookex und key aendern on Fri, 25 Jun 2004 08:09:07 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>ich sitze hier gerade ohne meine Entwicklungsumgebung und schieße mal ins blaue..</p>
<p>Bsp.:</p>
<pre><code class="language-cpp">LRESULT CALLBACK KeyboardProc( int nCode, WPARAM wParam, LPARAM lParam) 
{ 
    BYTE ks[256]; 
    GetKeyboardState(ks); 
    WORD w; 
    UINT scan; 
    scan=0; 
    ToAscii(wParam,scan,ks,&amp;w,0); 
    if ( (char)w == 'a' ) // mache jedes a zu einem b 
         return CallNextHookEx( hkb, ncode, 'b', lParam ); // leite b statt a weiter 

    return CallNextHookEx( hkb, nCode, wParam, lParam ); 
}
</code></pre>
<p>Wenn du den in der If verzeweigung änderst, dann solltest du diesen auch zurückgeben. In deinem Quellcode gibst du den wParam wieder zurück....</p>
<p>Probiers mal aus...</p>
<p>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/547613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/547613</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Fri, 25 Jun 2004 08:09:07 GMT</pubDate></item><item><title><![CDATA[Reply to setwindowshookex und key aendern on Fri, 25 Jun 2004 12:40:41 GMT]]></title><description><![CDATA[<p>ja.<br />
da is auch mein problem:<br />
- welchen parameter (wparam/lparam) muss ich aendern (oder beide?!)?<br />
- wie kriege ich den ascii code zurueck in unicode form und speichere<br />
das ganze in lparam bzw. wparam (es gibt die funktion tounicode, deren<br />
verwenudng ich allerdings nich raffe... :))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/547872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/547872</guid><dc:creator><![CDATA[entelechie]]></dc:creator><pubDate>Fri, 25 Jun 2004 12:40:41 GMT</pubDate></item></channel></rss>