<?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[keybd_event( ) will nicht so wie ich will, wieso eigentlich nicht -.-&#x27; ???]]></title><description><![CDATA[<p>hallo alle zusammen,<br />
ich ärgere mich jetzt sicher schon seit 2stunden mit diesen doofen problem rum.<br />
und zwar möchte ich tasten drücke simulieren via' keybd_event( ). Dazu lasse ich erst in eine editbox ein text schreiben( vom user ), dann wird der text in nen array gelesen und dann soll das programm des array durchlaufen und die jeweiligen tasten drücken, hie rmein ansatz:</p>
<pre><code class="language-cpp">// [ ... ]
char szBufferNick[ 16 ];
                            char szBufferPw[ 16 ];
                            int iLenghtAcc, iLenghtPw;

                            // ***** get the account-name *****
                            iLenghtAcc = 0;
                            iLenghtAcc = SendMessage( hEdit_Nick, WM_GETTEXTLENGTH, 0, 0 );
                            if( iLenghtAcc == 0 ) {

                                MessageBox( 0, &quot;Please enter your nickname!&quot;, &quot;Warning - nickname missing!&quot;, MB_OK | MB_ICONWARNING );
                                SetFocus( hEdit_Nick );
                                break;
                            }

                            szBufferNick[ 0 ] = 0;
                            SendMessage( hEdit_Nick, WM_GETTEXT, iLenghtAcc + 1, (long)szBufferNick );

                            // ***** get the password *****
                            iLenghtPw = 0;
                            iLenghtPw = SendMessage( hEdit_Pw, WM_GETTEXTLENGTH, 0, 0 );
                            if( iLenghtPw == 0 ) {

                                MessageBox( 0, &quot;Please enter your password!&quot;, &quot;Warning - password missing!&quot;, MB_OK | MB_ICONWARNING );
                                SetFocus( hEdit_Pw );
                                break;
                            }

                            szBufferPw[ 0 ] = 0;
                            SendMessage( hEdit_Pw, WM_GETTEXT, iLenghtPw + 1, (long)szBufferPw );

[ ... ]
</code></pre>
<pre><code class="language-cpp">[ ... ]
void AUTOLOG::enterAccData( char *szAccName, char *szAccPassword ) {

    // ***** set cursor position to &quot;Account-Name&quot; editbox
    SetCursorPos( this-&gt;clientX - ( this-&gt;clientX * 0.8 ), this-&gt;clientY - ( this-&gt;clientY * 0.78 ) );
    Sleep( 50 );

    // ***** click *****
    mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 );
    //mouse_event( MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 );
    Sleep( 50 );

    // ***** enter acc-name *****
    for( int i = 0; i &lt; (int)strlen( szAccName ) + 1; i++ ) {

        keybd_event( szAccName[ i ], 0, 0, 0 );
        keybd_event( szAccName[ i ], 0, KEYEVENTF_KEYUP, 0 );
        Sleep( 200 );
    }
    Sleep( 50 );

    // ***** switch to password edit *****
    keybd_event( VK_TAB, 0, 0, 0 );
    keybd_event( VK_TAB, 0, KEYEVENTF_KEYUP, 0 );
    Sleep( 50 );

    // ***** enter acc-password *****
    for( int i = 0; i &lt; (int)strlen( szAccPassword ) + 1; i++ ) {

        keybd_event( szAccPassword[ i ], 0, 0, 0 );
        keybd_event( szAccPassword[ i ], 0, KEYEVENTF_KEYUP, 0 );
        Sleep( 200 );
    }
    Sleep( 50 );

    // ***** simulate return *****
    keybd_event( VK_RETURN, 0, 0, 0 );
    keybd_event( VK_RETURN, 0, KEYEVENTF_KEYUP, 0 );
}
[ ... ]
</code></pre>
<p>die hälft des codes könnt ihr eigentlich ignorieren, was wichtig ist sind die stelen:</p>
<pre><code class="language-cpp">// ***** enter acc-name *****
    for( int i = 0; i &lt; (int)strlen( szAccName ) + 1; i++ ) {

        keybd_event( szAccName[ i ], 0, 0, 0 );
        keybd_event( szAccName[ i ], 0, KEYEVENTF_KEYUP, 0 );
        Sleep( 200 );
    }
    Sleep( 50 );

    // ***** switch to password edit *****
    keybd_event( VK_TAB, 0, 0, 0 );
    keybd_event( VK_TAB, 0, KEYEVENTF_KEYUP, 0 );
    Sleep( 50 );

    // ***** enter acc-password *****
    for( int i = 0; i &lt; (int)strlen( szAccPassword ) + 1; i++ ) {

        keybd_event( szAccPassword[ i ], 0, 0, 0 );
        keybd_event( szAccPassword[ i ], 0, KEYEVENTF_KEYUP, 0 );
        Sleep( 200 );
    }
</code></pre>
<p>wenn diese stellen durch laufen werden, werden nicht die tasten gedrückt die der string enthält, bzw es werden nur kommische zahlen geschrieben,<br />
AUSSER wenn ich die buchstaben groß schreibe werden auch die richtigen tasten simuliert, schreib ich sie klein kommt nur arabisch raus UND sonderzeichen werden auch nicht geschrieben!</p>
<p>Es wär echt hilfreich, wenn mir wer helfen kann bei dem problem.</p>
<p>Gruß Tobi.</p>
<p>PS: Und gute nacht <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/topic/190228/keybd_event-will-nicht-so-wie-ich-will-wieso-eigentlich-nicht</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 06:13:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190228.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 20 Aug 2007 22:13:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to keybd_event( ) will nicht so wie ich will, wieso eigentlich nicht -.-&#x27; ??? on Mon, 20 Aug 2007 22:13:47 GMT]]></title><description><![CDATA[<p>hallo alle zusammen,<br />
ich ärgere mich jetzt sicher schon seit 2stunden mit diesen doofen problem rum.<br />
und zwar möchte ich tasten drücke simulieren via' keybd_event( ). Dazu lasse ich erst in eine editbox ein text schreiben( vom user ), dann wird der text in nen array gelesen und dann soll das programm des array durchlaufen und die jeweiligen tasten drücken, hie rmein ansatz:</p>
<pre><code class="language-cpp">// [ ... ]
char szBufferNick[ 16 ];
                            char szBufferPw[ 16 ];
                            int iLenghtAcc, iLenghtPw;

                            // ***** get the account-name *****
                            iLenghtAcc = 0;
                            iLenghtAcc = SendMessage( hEdit_Nick, WM_GETTEXTLENGTH, 0, 0 );
                            if( iLenghtAcc == 0 ) {

                                MessageBox( 0, &quot;Please enter your nickname!&quot;, &quot;Warning - nickname missing!&quot;, MB_OK | MB_ICONWARNING );
                                SetFocus( hEdit_Nick );
                                break;
                            }

                            szBufferNick[ 0 ] = 0;
                            SendMessage( hEdit_Nick, WM_GETTEXT, iLenghtAcc + 1, (long)szBufferNick );

                            // ***** get the password *****
                            iLenghtPw = 0;
                            iLenghtPw = SendMessage( hEdit_Pw, WM_GETTEXTLENGTH, 0, 0 );
                            if( iLenghtPw == 0 ) {

                                MessageBox( 0, &quot;Please enter your password!&quot;, &quot;Warning - password missing!&quot;, MB_OK | MB_ICONWARNING );
                                SetFocus( hEdit_Pw );
                                break;
                            }

                            szBufferPw[ 0 ] = 0;
                            SendMessage( hEdit_Pw, WM_GETTEXT, iLenghtPw + 1, (long)szBufferPw );

[ ... ]
</code></pre>
<pre><code class="language-cpp">[ ... ]
void AUTOLOG::enterAccData( char *szAccName, char *szAccPassword ) {

    // ***** set cursor position to &quot;Account-Name&quot; editbox
    SetCursorPos( this-&gt;clientX - ( this-&gt;clientX * 0.8 ), this-&gt;clientY - ( this-&gt;clientY * 0.78 ) );
    Sleep( 50 );

    // ***** click *****
    mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 );
    //mouse_event( MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 );
    Sleep( 50 );

    // ***** enter acc-name *****
    for( int i = 0; i &lt; (int)strlen( szAccName ) + 1; i++ ) {

        keybd_event( szAccName[ i ], 0, 0, 0 );
        keybd_event( szAccName[ i ], 0, KEYEVENTF_KEYUP, 0 );
        Sleep( 200 );
    }
    Sleep( 50 );

    // ***** switch to password edit *****
    keybd_event( VK_TAB, 0, 0, 0 );
    keybd_event( VK_TAB, 0, KEYEVENTF_KEYUP, 0 );
    Sleep( 50 );

    // ***** enter acc-password *****
    for( int i = 0; i &lt; (int)strlen( szAccPassword ) + 1; i++ ) {

        keybd_event( szAccPassword[ i ], 0, 0, 0 );
        keybd_event( szAccPassword[ i ], 0, KEYEVENTF_KEYUP, 0 );
        Sleep( 200 );
    }
    Sleep( 50 );

    // ***** simulate return *****
    keybd_event( VK_RETURN, 0, 0, 0 );
    keybd_event( VK_RETURN, 0, KEYEVENTF_KEYUP, 0 );
}
[ ... ]
</code></pre>
<p>die hälft des codes könnt ihr eigentlich ignorieren, was wichtig ist sind die stelen:</p>
<pre><code class="language-cpp">// ***** enter acc-name *****
    for( int i = 0; i &lt; (int)strlen( szAccName ) + 1; i++ ) {

        keybd_event( szAccName[ i ], 0, 0, 0 );
        keybd_event( szAccName[ i ], 0, KEYEVENTF_KEYUP, 0 );
        Sleep( 200 );
    }
    Sleep( 50 );

    // ***** switch to password edit *****
    keybd_event( VK_TAB, 0, 0, 0 );
    keybd_event( VK_TAB, 0, KEYEVENTF_KEYUP, 0 );
    Sleep( 50 );

    // ***** enter acc-password *****
    for( int i = 0; i &lt; (int)strlen( szAccPassword ) + 1; i++ ) {

        keybd_event( szAccPassword[ i ], 0, 0, 0 );
        keybd_event( szAccPassword[ i ], 0, KEYEVENTF_KEYUP, 0 );
        Sleep( 200 );
    }
</code></pre>
<p>wenn diese stellen durch laufen werden, werden nicht die tasten gedrückt die der string enthält, bzw es werden nur kommische zahlen geschrieben,<br />
AUSSER wenn ich die buchstaben groß schreibe werden auch die richtigen tasten simuliert, schreib ich sie klein kommt nur arabisch raus UND sonderzeichen werden auch nicht geschrieben!</p>
<p>Es wär echt hilfreich, wenn mir wer helfen kann bei dem problem.</p>
<p>Gruß Tobi.</p>
<p>PS: Und gute nacht <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/1348586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1348586</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Mon, 20 Aug 2007 22:13:47 GMT</pubDate></item><item><title><![CDATA[Reply to keybd_event( ) will nicht so wie ich will, wieso eigentlich nicht -.-&#x27; ??? on Mon, 20 Aug 2007 22:28:51 GMT]]></title><description><![CDATA[<p>alles klar hat sich erledigt <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>VkKeyScan( ) hat die lösung gebracht <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 />
Ich kann einfach net ruhig schlafen, wenn ein proggie net funktioniert *hehe*</p>
<p>Trotzdem danke!</p>
<p>Gut Nacht! Tobi.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1348590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1348590</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Mon, 20 Aug 2007 22:28:51 GMT</pubDate></item></channel></rss>