Auf verstecktem HWND Mouseevents absetzen



  • Hallo,

    Gegebenheiten:
    -Offene Anwendung z.B. Windows Taschenrechner
    -Ein bestimmtes Mausevent z.B. Linke Maustaste
    -x und y relativ zur Anwendung

    Was ich gerne möchte:
    -Das obere Menü ansprechen (Bearbeiten, Ansicht, ?)

    Was ich bisher habe:

    RECT rcWindow;
    		RECT rcWindowChild;
    		GetWindowRect(this->mainWindow, &rcWindow);
    
    		POINT p;
    		p.x = ke->GetPointerX()+rcWindow.left;
    		p.y = ke->GetPointerY()+rcWindow.top;
    
    		HWND newhandle = WindowFromPoint(p);
    
    		GetWindowRect(newhandle, &rcWindowChild);
    
    		if(newhandle){
    			if(!PostMessage(newhandle,ke->GetKeycode(),ke->GetTime(),MAKELPARAM(ke->GetPointerX()-(rcWindowChild.left-rcWindow.left),ke->GetPointerY()-(rcWindowChild.top-rcWindow.top)))){
    				std::cout << "Fehler:" << GetLastError() << std::endl;
    			}
    
    		}else{
    			if(!PostMessage(this->mainWindow,ke->GetKeycode(),ke->GetTime(),MAKELPARAM(ke->GetPointerX()-(rcWindowChild.left-rcWindow.left),ke->GetPointerY()-(rcWindowChild.top-rcWindow.top)))){
    				std::cout << "Fehler:" << GetLastError() << std::endl;
    			}
    		}
    

    Obiges Funktioniert schon ganz gut. Den Taschenrechner kann ich recht gut bedienen, aber das Menü mag einfach nicht darauf ansprechen.
    Weiß jemand Rat?

    Gruß

    M.M.


Log in to reply