Auf Bildschirm Koordinate in einer bestimmten Anwendung klicken



  • Hallo, so hole ich mir aus einer bestimmten Anwendung von einer bestimmten Koordinate in der Anwendung einen Farbwert.

    POINT p;
    COLORREF color;
    HDC screen;
    
    HWND h = FindWindow(0,"Unbenannt - Paint");
    ScreenToClient(h,&p);
    color = GetPixel(GetDC(h),x, y );
    

    Wenn z.b. an einer bestimmten Position die Farbe rot erscheint dann würde ich gerne den Mauscursor innerhalb meiner Anwendung an eine bestimmte Position bewegen. Allerdings kann ich jetzt nicht einfach mit SetCursorPos meine Position ändern da SetCursorPos ja auf die Position vom gesamten Bildschirm zugreift und nicht auf die Koordinaten innerhalb meiner Zielanwendung.
    Hat einer eine Idee wie man das lösen kann?



  • Sry, da fehlte oben was:

    POINT p;
    COLORREF color;
    HDC screen;
    
    GetCursorPos(&p);
    HWND h = FindWindow(0,"Unbenannt - Paint");
    ScreenToClient(h,&p);
    color = GetPixel(GetDC(h),100,200);
    


  • ClientToScreen()