brauche hilfe



  • Hallo,

    wieso funktioniert dieser code denn nicht????

    #include <iostream>
    #include <windows.h>
    
    using namespace std;
    
    int _WindowsWait(char* Fenstername);
    
    int main(void)
    {
        HWND hWnd;
        _WindowsWait("Unbenannt - Editor"); 
        Sleep(100);
        hWnd = FindWindow(0,"Unbenannt - Editor");
         if(!hWnd)
           cout << "Error...\n";
        Sleep(100);
        //SendMessage(hWnd,WM_SETTEXT,0,(LPARAM)"hallo!");
        SendMessage(hWnd,WM_KEYDOWN,'a',1);
        //SendMessage(hWnd,WM_CHAR,'a',1);
        Sleep(1000);
        SendMessage(hWnd,WM_KEYUP,'a',1);
       return 0;
    }
    
    int _WindowsWait(char* Fenstername)
    {
        cout << "Searching...\n";
        int a = 0;
        HWND hwnd;
        while(a < 1)
        {
        hwnd = FindWindow(0,Fenstername);
        if(!hwnd)
           a = 0;  
        else
        {
           a = 1;
           cout << "Success...\n";
        }
        Sleep(10);
        }
    }
    


  • sorry hab genaz vergessen zu sagen was nciht geht 😃
    also er will einfach nicht das a an den editr senden der rest funktioniert alles.



  • Tasten simuliert mal mit "SendInput".



  • Aber bei SendInput() wird das doch nicht im hintergrund gesendet oder? Ich habe das Problem jetzt zwar mit Postmessage gelöst aber ich verstehe immernoch nicht wie man mit postmessage mausclicks versendet



  • Die Koordinaten sind aber 'relative to the upper-left corner of the client area.' 😉 (nicht getestet):

    PostMessage(hWnd, WM_LBUTTONDOWN, 0, MAKELPARAM(10,10));
    

    EDIT: Das würde dann einem Linksklick ('down') an der Koordinate K(10|10) .


Anmelden zum Antworten