배터리가 일정 수준 이하일 때 두 프로그램을 자동으로 종료하는 방법이 있습니까?

배터리가 일정 수준 이하일 때 두 프로그램을 자동으로 종료하는 방법이 있습니까?

저는 Windows 7이 설치된 새 노트북을 설정하고 있으며 다음을 사용하고 있습니다.레인미터사이드바에 시스템 정보(CPU, 메모리, GPU 정보 등)를 표시합니다. GPU 통계에 액세스하려면 백그라운드에서 MSI Afterburner를 실행해야 합니다.

어쨌든, 나는 이 모든 추가 소프트웨어가 배터리 수명을 감소시킬 수 있다는 것을 알고 있으므로 배터리가 특정 수준(예: 50%) 미만이 되면 이 두 프로그램(Rainmeter 및 MSI)을 자동으로 종료할 수 있는 방법을 찾고 있습니다. 나는 다른 용도로 Autohotkey를 사용하지만 그 프로그램이나 다른 프로그램을 사용하는 솔루션을 찾지 못했습니다.

그리고 아이디어?

답변1

다음은 배터리가 50% 미만으로 떨어진 후 프로세스 2개를 닫는 스크립트입니다.

SetTimer, CheckBatteryLevel, 2000
Return

CheckBatteryLevel:

    VarSetCapacity(powerstatus, 1+1+1+1+4+4)
    success := DllCall("kernel32.dll\GetSystemPowerStatus", "uint", &powerstatus)
    batteryLifePercent := ReadInteger(&powerstatus,2,1,false)

    if (batteryLifePercent < 50)
    {
        KillIfExists("Rainmeter.exe")
        KillIfExists("MSI.exe")
    }
    Return

KillIfExists(p)
{    
    Process, Exist, % p
    If (ErrorLevel)
        Process, Close, % p
}

ReadInteger( p_address, p_offset, p_size, p_hex=true )
{
    value = 0
    old_FormatInteger := a_FormatInteger
    if ( p_hex )
    SetFormat, integer, hex
    else
    SetFormat, integer, dec
    loop, %p_size%
    value := value+( *( ( p_address+p_offset )+( a_Index-1 ) ) << ( 8* ( a_Index-1 ) ) )
    SetFormat, integer, %old_FormatInteger%
    return, value
} 

찾은 코드를 수정했습니다.이 게시물

답변2

이것을 확인해 보세요.http://batterysaver.codeplex.com/
배터리 감소에 따라 프로세스를 종료하는 기능을 제공합니다.
이 프로그램은 개발 초기 단계에 있으며 사용자 친화적이지는 않지만 여전히 작업을 완료할 수 있으며 칭찬을 받습니다.라이언 에멀리개발에 대한 그의 노고에 대해. 프로그램을 관리자 권한으로 실행하고 작동하게 하려면 약간의 조작을 해야 합니다.

원천:전원 이벤트 시 프로그램을 실행할 수 있는 방법이 있습니까?

답변3

이 답변은 Rainmeter에만 해당됩니다. 테스트해보진 않았지만이것플러그인은 배터리 비율을 측정할 수 있습니다. if배터리가 특정 퍼센트 이하로 떨어질 때를 측정하는 데 사용하는 스킨을 만든 다음 Rainmeter를 닫는 Autohotkey 프로그램인 exe를 열 수 있습니다.

나는 이 질문이 오래되었다는 것을 알고 있지만 같은 질문을 하는 사람을 위해 2센트를 추가하겠다고 생각했습니다. 테스트하지는 않았지만 작동하지 않을 이유가 없습니다.

관련 정보