Handle von Monitor funktioniert nicht



  • Ich benutze bei mir den Code

    HMONITOR hMon = MonitorFromWindow(GetParent()->m_hWnd,MONITOR_DEFAULTTOPRIMARY);
    

    was kompiliert aber zur Laufzeit an dieser Stelle abstürzt.

    HMONITOR hMon = MonitorFromWindow(GetParent()->GetSaveHwnd(),MONITOR_DEFAULTTOPRIMARY);
    

    hingegen kompiliert nicht mit

    error C2039: 'GetSaveHwnd': Ist kein Element von 'CWnd'

    Was mache ich falsch?

    Matthias



  • Ich habe es jetzt gelöst mit

    HWND hWndParent = ::GetParent(m_hWnd);
    HMONITOR hMonPrim = MonitorFromWindow(hWndParent,MONITOR_DEFAULTTOPRIMARY);
    

    Matthias



  • Hallo pospiech,

    sag mal MonitorFromWindow wird genutzt bei mehreren angeschlossenen Monitoren
    an einen PC oder? Und wenn ich es richtig verstanden habe wird über das HWND
    geprüft in welchem Monitor die Anwendung am "meisten" zu sehen ist und dieser
    Desktopinhalt dann ggf. angezeigt.

    Oder habe ich es falsch verstanden?? Kannte diese Funktion bislang nicht.


  • Mod

    Dein GetParent liefert wahrscheinlich NULL!

    Es heißt ncht GetSaveHwnd sondern GetSafeHwnd !


Anmelden zum Antworten