Tastensimulation funktioniert nicht.



  • #include <iostream>
    #include <windows.h>
    
    using namespace std;
    int x = 0;
    
    int main()
    {
        while(x < 2) {
            x++;
          printf("%x", x);
          keybd_event(0x11 , 0, 0L, 0L);
          keybd_event(0x12 , 0, 0L, 0L);
          keybd_event(0x2E , 0, 0L, 0L);
    
          keybd_event(0x11 , 0, KEYEVENTF_KEYUP, 0L);
          keybd_event(0x12 , 0, KEYEVENTF_KEYUP, 0L);
          keybd_event(0x2E , 0, KEYEVENTF_KEYUP, 0L);
          Sleep(500);
        }
    
        return 0;
    }
    

    Soll den Taskmanager öffen, funktioniert aber nicht. Weiß wer warum?



  • das ist einer von meinen nicknames

    #include <iostream>
    #include <windows.h>
    
    using namespace std;
    int x = 0;
    
    int main()
    {
        while(x < 2) {
            x++;
          printf("%x", x);
          keybd_event(0x11 , 0, 0L, 0L);
          keybd_event(0x10 , 0, 0L, 0L);
          keybd_event(0x1B , 0, 0L, 0L);
    
          keybd_event(0x11 , 0, KEYEVENTF_KEYUP, 0L);
          keybd_event(0x10 , 0, KEYEVENTF_KEYUP, 0L);
          keybd_event(0x1B , 0, KEYEVENTF_KEYUP, 0L);
          Sleep(500);
        }
    
        return 0;
    }
    

  • Mod

    Strg+Alt+Entf kann man nicht simmulieren!
    Die Gina behandelt diese Tastatureingabe selbst. Sie lässt sich nicht abfangen und in keiner Form simulieren.

    Was willst Du machen?



  • Versuch mal das hier

    SHORT scancode = VkKeyScan( ch );
        BYTE  vk = LOBYTE( scancode );
    
        bool  shift = ( scancode & 0x100 )!=0,
              ctrl  = ( scancode & 0x200 )!=0,
              alt   = ( scancode & 0x400 )!=0;
    
        if ( shift ) keybd_event( VK_SHIFT,   0, 0, 0 );
        if ( ctrl )  keybd_event( VK_CONTROL, 0, 0, 0 );
        if ( alt )   keybd_event( VK_MENU,    0, 0, 0 );
    
        // ***** Simulate ****
    
        if ( alt )   keybd_event(VK_MENU,    0, KEYEVENTF_KEYUP, 0 );
        if ( ctrl )  keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0 );
        if ( shift ) keybd_event(VK_SHIFT,   0, KEYEVENTF_KEYUP, 0 );
    

    Gruß Tobi


Anmelden zum Antworten