Ermittel der Mausprosizion



  • Ich brechene so die mitte:

    RECT rt;
          GetWindowRect(hwnd,&rt);
          x=(rt.right-rt.left)/2;
          y=(rt.bottom-rt.top)/2;
    

    So jetzt setzte ich mit.

    ::SendMessage(hwnd, WM_MOUSEMOVE , MK_LBUTTON, MAKELPARAM(x,y));
    

    Die maus auf diesen Punkt wie kann ich überprüfen ob sie auch genau dort ist?



  • ::SendMessage(hwnd, WM_MOUSEMOVE , MK_LBUTTON, MAKELPARAM(x,y));
    

    Damit sagst du doch nur deinem Fenster "Da ist die Maus". Du setzt sie aber nicht dorthin.

    Schau dir mal GetCursorPos und SetCursorPos an. 🙂



  • Das problem is das ich irgent welche werte raus bekommen wenn ich z.b das so amche:

    GetCursorPos(&p);
          ScreenToClient(lhwnd,&p);
    	  int xPos = p.x; //int
          int yPos = p.y;
    

    Wenn das Fenster nich aktiv ist möchte ich trotzdem sagen er soll auf diese Prosition springen und dann drauf klicken.



  • Aktivier das Fenster doch einfach (ShowWindow o.ä.).



  • Es soll ja am besten da bleiben wo es ist, in der Taskleiste



  • Ich verstehe wohl dein Problem nicht so ganz, aber warum rufst du nicht einfach SetCursorPos mit der von dir ermittelten Position (meinetwegen auch per GetWindowRect) auf 😕



  • Kause stell doch bitte eine EXAKT GENAU KLARE SUPERSPEZIELLE PUNKTTREFFENDE Frage! Wir müssen dann nicht so rumgrübeln und Du hast Deine Hilfe schneller. Möchtest Du die Maus genau in die Mitte fahren und dann einen Mausklick simulieren? Schreib mal bisschen!



  • Also mein Problem ist das ich gerne die Maus im Fenster bewegen will. Ohne das ich es in den Vordergrund setzen muss usw.



  • Und wo ist da dein Problem? Es muss doch kein Fenster aktiv sein, um die Maus mit SetCursorPos an eine bestimmte Stelle zu bewegen 🙄



  • Wo ist das Problem?
    Du hast immer noch nicht genau gefragt. Ich schätze mal Du weiß nicht, dass man mit SetCursorPos die Maus versetzen kann, auch OHNE dass Dein Programm umbedingt im Vordergrund ist. Es geht immer. Ich schätze mal, Du willst die Maus in die MITTE des BILDSCHIRMS setzen? Also genau in die Mitte des Monitors?
    Compiliere das, und ich denke alles ist klar:

    int iBreiteDesBildschirms = GetSystemMetrics(SM_CXSCREEN);
    int iHoeheDesBildschirms  = GetSystemMetrics(SM_CYSCREEN);
    
    SetCursorPos(iBreiteDesBildschirms/2, iHoeheDesBildschirms/2);
    

    Und fertig. 😃



  • ChrisK schrieb:

    Ich schätze mal, Du willst die Maus in die MITTE des BILDSCHIRMS setzen? Also genau in die Mitte des Monitors?

    Nein, will er nicht! Wenn du richtig gelesen hättest, wüsstest du, dass er die Maus in die Mitte seines Fensters setzen will.

    @Klausy: Das geht aber schlecht, wenn das Fenster minimiert ist...

    Kausy schrieb:

    Es soll ja am besten da bleiben wo es ist, in der Taskleiste



  • Ich vermute er will an der Stelle in dem Fenster, welches minimiert ist oder sonstwas, hinklicken, da er MK_LBUTTON mit-angibt...

    Vielleicht wird uns alles klarer, wenn er uns verrät, was er dann vorhat wenn er den Mauszeiger dahin-positioniert hat...



  • Ich weiß auch nicht, was das für einen Sinn haben soll. Naja...


Anmelden zum Antworten