SendMessage



  • Für die Simulation von Tastendrücken nimmt man keybd_event(). SendMassage funktioniert dafür nicht.



  • Wie kann man den

    keybd_event
    

    an ein Fenster senden o_O



  • sendmessage schrieb:

    Wie kann man den

    keybd_event
    

    an ein Fenster senden o_O

    Gar nicht, das regelt sich über den Fokus. Eigentlich sollte man auch nicht keybd_event benutzen, sondern SendInput.



  • Der Buchstabe wird zwar geschrieben aber nicht dahin wo er hin soll -.-

    Der Schreibt denn einfach immer dahin wo ich auch mit der Maus hinklicke, aber der soll den Buchstaben ja an das Editor Fenster senden....

    bool hwnd;
    
           hwnd = FindWindow(0,"Unbenannt - Editor");
    
            if (hwnd == false)
            {
            MessageBox(0,"error","error",0);
            }
    
            else
            {
    
            Sleep(2000);
            INPUT InputData;
    	int iEvents;
    
    	InputData.type = INPUT_KEYBOARD;
    	InputData.ki.wVk = 0x41;   
    
    	iEvents = SendInput(1, &InputData, sizeof(InputData));
    
            }
    

  • Mod

    Dann musst Du diesem Fenster zuerst den Focus geben!



  • Das a wird noch immer nicht an das Fenster gesendet 😞

    Was mach ich da falsch ?

    bool hwnd;
    
           hwnd = FindWindow(0,"Unbenannt - Editor");
    
            if (hwnd == false)
            {
            MessageBox(0,"error","error",0);
            }
    
            else
            {
    
             SetFocus("Unbenannt - Editor");
    
            INPUT InputData;
    	int iEvents;
    
    	InputData.type = INPUT_KEYBOARD;
    	InputData.ki.wVk = 0x41;   
    
    	iEvents = SendInput(1, &InputData, sizeof(InputData));
    
            }
    

  • Mod

    Du vergisst, dass man nicht einfach SetFocus an ein anderes Fenster machen kann. Der Focus ist eine threadlokale Eigenschaft.

    Ich frage mich warum alle Anfänger sich immer die komplexen Sachen aussuchen.

    BTW: Es gibt Batchsprachen, die das einfacher können...



  • Alles falsch. Alles nochmal.



  • Naja diese SetFocus(); Funktion hab ich heute das erste mal gesehen ^^
    Wo kann man den was zu diesen Thread sachen finden ?

    Oder er gesagt wo nach sollte ich googlen ?

    SetFocus Tutorial

    __



  • sendmessage schrieb:

    Das a wird noch immer nicht an das Fenster gesendet 😞

    Was mach ich da falsch ?
    [/cpp]

    Zum Beispiel kümmerst Du Dich nicht darum, was die von Dir aufgerufenen Funktionen überhaupt für Parameter haben möchten.
    Dein Aufruf von SetFocus ist mindestens schon das zweite Mal, wo Du einfach so einen char - Zeiger an eine Funktion übergibst, die ein Handle haben möchte.


Anmelden zum Antworten