• 4 Posts
  • 133 Comments
Joined 2 years ago
cake
Cake day: October 8th, 2023

help-circle








  • Moin. Ich hab das selbe Problem. Auch sehr lange nach einer Ursache gesucht, aber alles was ich rausfinden konnte ist, dass es wohl von PCI geweckt wird. Wake on LAN is aus und Mausbewegen reicht nicht um ihn zu wecken, bin da auch mit meinem Latein am Ende.

    Meine Lösung ist es also nicht, das zu fixen, sondern den PC einfach wieder automatisch sleepen zu lassen. Es gibt in der PowrProf DLL die Funktion “SetSuspendState”, die den PC sleepen lässt, wenn man die Parameter auf 0,0,0 setzt.

    Ich hab dafür dieses Autohotkey script geschrieben, dass ich dann einfach starte, bevor ich den sleep modus aktiviere. Ist zwar nich so 100%, tut aber was es soll. Kann auch einfach in andere Programmiersprachen übertragen werden.

    #Requires AutoHotkey v2.0
    #SingleInstance
    
    IsMonitoring := false
    SleepTimer := 0
    
    Tray := A_TrayMenu
    Tray.Delete()
    Tray.Add("Enable Auto-Sleep", ToggleMonitoring)
    Tray.Add("Exit", (*) => ExitApp())
    
    UpdateTrayMenu()
    
    ToggleMonitoring(*) {
        global IsMonitoring, SleepTimer
        IsMonitoring := !IsMonitoring
        if IsMonitoring {
            SleepTimer := SetTimer(AutoSleep, 60000)
        } else {
            SetTimer(SleepTimer, 0)
        }
        UpdateTrayMenu()
    }
    
    UpdateTrayMenu() {
        global Tray, IsMonitoring
        if IsMonitoring {
            Tray.Check("Enable Auto-Sleep")
        } else {
            Tray.Uncheck("Enable Auto-Sleep")
        }
    }
    
    AutoSleep() {
        DllCall("PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0)
    }
    
    loop {
        Sleep 10000
    }
    

    Sorry dass die Lösung so crude ist, aber besser als nix.___