Brauche Hilfe bei Tastendruck simulieren



  • Hallo. Ich hoffe das das hier das richtige Forum ist ^^
    Ich habe ein Problem mit dem Simulieren von Tasten, denn ich möchte ein Programm schreiben, das immer nach ein gewissen Zeit abspeichert. Hier mal der Code...

    #include <windows.h>
    
    int main(){
        Sleep(3000);
        while(1){
            keybd_event(VkKeyScan(VK_CONTROL),0,0,0);              //Tastendruck strg
            keybd_event(VkKeyScan('S'),0,0,0);                     //Tastendruck 'S'
            keybd_event(VkKeyScan('S'),0,KEYEVENTF_KEYUP,0);       //Loslassen 'S'
            keybd_event(VkKeyScan(VK_CONTROL),0,KEYEVENTF_KEYUP,0);//Loslassen strg
            Sleep(300000);
        }
    }
    

    ... eigentlich ganz simpel, doch wenn ich das Programm ausführe, simuliert er nich strg+s sondern gibt auf dem Editor qs aus! Kann mir einer helfen?

    Gruß Martin



  • Neuling 123 schrieb:

    Hallo. Ich hoffe das das hier das richtige Forum ist ^^
    Ich habe ein Problem mit dem Simulieren von Tasten, denn ich möchte ein Programm schreiben, das immer nach ein gewissen Zeit abspeichert. Hier mal der Code...

    #include <windows.h>
    
    int main(){
        Sleep(3000);
        while(1){
            keybd_event(VkKeyScan(VK_CONTROL),0,0,0);              //Tastendruck strg
            keybd_event(VkKeyScan('S'),0,0,0);                     //Tastendruck 'S'
            keybd_event(VkKeyScan('S'),0,KEYEVENTF_KEYUP,0);       //Loslassen 'S'
            keybd_event(VkKeyScan(VK_CONTROL),0,KEYEVENTF_KEYUP,0);//Loslassen strg
            Sleep(300000);
        }
    }
    

    ... eigentlich ganz simpel, doch wenn ich das Programm ausführe, simuliert er nich strg+s sondern gibt auf dem Editor qs aus! Kann mir einer helfen?

    Gruß Martin

    Auf diese Art und Weise einen Vorgang zu automatisieren ist das Dümmste was man tun kann. Was passiert wenn du in einer anderen Anwendung bist? Eben. Schick ein Event, das signalisiert, dass "Speichern" geklickt worden ist. Eventuell bietet die Anwendun sogar eine API an über die du das ganz sauber lösen kannst. Ansonsten eben so wie gesagt.
    Aber auf keinen Fall einen Anwender simulieren und mit Tastatur- oder Mauseingaben arbeiten!


Anmelden zum Antworten