Windows Desktop Bereich in RECT speichern



  • Hi, wie kann ich herausfinden, welche Auflösung eingestellt ist ?
    Also praktisch RECT nicht vom eigenen Fenster sondern vom Desktop...^^
    Ich hoffe ihr könnt helfen 😉

    mfg





  • Work-Area: SystemParametersInfo mit SPI_GETWORKAREA

    Bzgl. Desktop: Welcher Bildschirm!?
    Siehe: GetMonitorInfo

    Siehe: GetDesktopWindow und GetWindowRect



  • ähmm, ok ich will mein Fenster recht oben starten lassen.... ich dachte mir hjalt das ginge am besten, indem man sich das RECT vom Desktop holt und dann
    rect.right - x sagt ... oder habt ihr eine bessere idde ?

    mfg



  • Foxx90 schrieb:

    (...) ich will mein Fenster recht oben starten lassen (...)

    Hoffentlich habe ich das richtig verstanden :

    RECT rc;
    
     GetWindowRect (hWnd,&rc);
    
     signed int f1 = rc.right  - rc.left;           // "fensterbreite", ev. casten
     signed int f3 = GetSystemMetrics(SM_CXSCREEN); // "bildschirmbreite" 
    
     USER32_SetWindowPos (hWnd,0,f3-f1,0,0,0,SWP_NOZORDER | SWP_NOSIZE);
    


  • merker schrieb:

    Foxx90 schrieb:

    (...) ich will mein Fenster recht oben starten lassen (...)

    Hoffentlich habe ich das richtig verstanden :

    RECT rc;
    
     GetWindowRect (hWnd,&rc);
    
     signed int f1 = rc.right  - rc.left;           // "fensterbreite", ev. casten
     signed int f3 = GetSystemMetrics(SM_CXSCREEN); // "bildschirmbreite" 
    
     USER32_SetWindowPos (hWnd,0,f3-f1,0,0,0,SWP_NOZORDER | SWP_NOSIZE);
    

    Was soll denn bitte 'USER32_SetWindowPos' sein ?

    Und das signed ist auch überflüssig, da diese Standardtypen auto-signed sind (ANSI-C-Standard).
    Weiterhin solltest Du auf jeden Fall noch Jochen's Hinweis beachten.



  • CodeFinder schrieb:

    Was soll denn bitte 'USER32_SetWindowPos' sein ?

    Uff ! Nun weiss jeder, dass ich die "windows.h" nicht benutze.

    Muss natürlich "SetWindowPos" heissen.

    CodeFinder schrieb:

    Weiterhin solltest Du auf jeden Fall noch Jochen's Hinweis beachten.

    Die Hinweise von Foxx90 sind viel beachtenswerter :

    Foxx90 schrieb:

    (...) ich will mein Fenster recht oben starten lassen (...)



  • merker schrieb:

    CodeFinder schrieb:

    Weiterhin solltest Du auf jeden Fall noch Jochen's Hinweis beachten.

    Die Hinweise von Foxx90 sind viel beachtenswerter :

    Foxx90 schrieb:

    (...) ich will mein Fenster recht oben starten lassen (...)

    Die Frage ist nur: Wo ist rechts oben?
    Primary-Monitor oder wirklich ganz rechts!?

    Siehe: The Virtual Screen
    http://msdn2.microsoft.com/en-us/library/ms534613.aspx

    Viele haben nämlich heute meistens mehr als ein Bildschirm...


Anmelden zum Antworten