Problem mit SystemParametersInfo



  • Hallo zusammen,

    ich habe ein Problem mit SystemParametersInfo(SPI_GETSCREENSAVERRUNNING)
    Ich möchte abfragen ob der Bildschirmschoner gerade läuft. Wenn dies der Fall ist soll ein Programm öffnen.
    Das öffnen des Programms funktioniert, nur bekomme ich keinen Wert von SPI_GETSCREENSAVERRUNNING. Kann mir jemand weiterhelfen?

    Zur Info: Ich habe noch keine großen Programmier erfahrungen in C. Die Platform auf der das Programm lauffähig sein soll ist Windows XP.
    Beim Kompilieren mit Dev-C bekomme ich keine Fehler

    #include <windows.h>
    #if (WINVER >=500)
    #define SPI_GETSCREENSAVERRUNNING 114
    #endif /* WINVER >= 0x0500 */
    
    LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
    
    int WINAPI WinMain (HINSTANCE hThisInstance,
                        HINSTANCE hPrevInstance,
                        LPSTR lpszArgument,
                        int nFunsterStil)
    
    {
    
    BOOL StatusSCR=0;
    
    for (;;)
    {
    
    StatusSCR = SystemParametersInfo(
    SPI_GETSCREENSAVERRUNNING,
    0, 
    &StatusSCR,
    0);
    
    if(StatusSCR = 1)
    
    WinExec("C:\\switchboxset.exe com1 1", SW_SHOW);
    
    else
    
    WinExec("C:\\switchboxset.exe com1 0", SW_SHOW);
    
    Sleep (100000);
    
    }
        return 0;
    }
    


  • Rockemon schrieb:

    if(StatusSCR = 1)
    

    StatusSCR wird der Wert 1 zugewiesen, die Bedingung ist somit immer erfüllt (Vegleich mit ==).



  • Ich danke dir. Wie konnte ich nur so blind sein 😉
    Jetzt funktionierts natürlich. Manchmal liegts wirklich an den kleinsten Fehlern


Anmelden zum Antworten