SystemParametersInfo, wie?



  • MSDN Schreibt:

    SPI_GETWORKAREA

    Retrieves the size of the work area on the primary display monitor. The work area is the portion of the screen not obscured by the system taskbar or by application desktop toolbars. The pvParam parameter must point to a RECT structure that receives the coordinates of the work area, expressed in virtual screen coordinates.

    Ich schreibe daher:

    RECT rect;
    .
    .
    .
    SystemParametersInfo(SPI_GETWORKAREA, 0, rect, 0);
    .
    .
    .
    

    Compiler schreibt:

    error C2664: 'SystemParametersInfoA': Konvertierung des Parameters 3 von 'RECT' in 'PVOID' nicht möglich

    Weiß jemand, wie es geht?
    Vielen Dank.



  • Wie die Fehlermeldung schon sagt, Du mußt die Adresse (darauf deutet das "P" in PVOID hin) von rect übergeben, nicht die Strukturvariable rect selbst!

    Also so (ungetestet):

    SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);
    

    HTH,
    Martin



  • Alles klar, vielen Dank. 🙂
    Mit den Pointern werde ich hoffentlich auch noch eines Tages zurecht kommen.



  • das mit den pointern ist eigendlich gar nicht so schwer.

    man muss sich nur einmal verdeutlichen das ein pointer nix anderes ist als ein zeiger der auf etwas zeigt.

    stell dir einfach eine reihe von leuten vor, in der jeder in der reihe über den anderen bescheid weis.
    egal wen du fragst, der gefragte zeigt immer auf den der das gesuchte hat.
    nix anderes sind pointer.


Log in to reply