Показано с 1 по 10 из 126

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Новичок
    Регистрация
    30.04.2011
    Возраст
    50
    Сообщений
    13
    Вес репутации
    183

    По умолчанию Re: Примеры ahk-скриптов

    Долго искал и не нашел. Задача у меня такая. Нужно чтобы ноутбук засыпал при переключении на питание от батареи через 60 секунд и перед сном нажимал стоп, Send, {Media_Stop}. Потом через 5 минут просыпался и уходил в гибернацию. В самой винде7 есть такая возможность, но если запущена навигация или какая еще программа, которую виндовс7 расценивает как мультимедийную, то у ноутбука бессонница. Есть куски скриптов которые следят за состоянием питания, отправляют в сон и гибернацию, но нехватает куска который бы пробудил компьютер из режима сна через заданное время. Пробовал усыплять ноут первыми двумя кусками, но в гибернацию он сам не уходит. Помогите собрать скрипт из этих кусков и дописать недостающий.


    кусок слежения за состоянием питания ноута

    #SingleInstance force ; перезагрузить скрипт, если он уже запущен
    #NoEnv ; запрещаем имена переменных как у переменных окружения
    SendMode Input ; ускорренный ввод
    #Persistent ; держать скрипт запущенным
    SetTitleMatchMode 2 ; 2 - заголовок окна должен содержать значение, заданное в WinTitle
    DetectHiddenWindows, On
    SetTimer, GetPowerSource, 5000
    return ; End of main program

    GetPowerSource:
    VarSetCapacity(powerStatus, 1+1+1+1+4+4)
    success := DllCall("GetSystemPowerStatus", "UInt", &powerStatus)
    acLineStatus:=ReadInteger(&powerstatus,0,1,false)
    batteryFlag:=ReadInteger(&powerstatus,1,1,false)
    batteryLifeTime:=ReadInteger(&powerstatus,4,4,fals e)
    batteryFullLifeTime:=ReadInteger(&powerstatus,8,4, false)
    output=AC Status: %acLineStatus%`nBattery Flag: %batteryFlag%`nBattery Life (percent): %batteryLifePercent%`nBattery Life (time): %batteryLifeTime%`nBattery Life (full time): %batteryFullLifeTime%
    If %acLineStatus% = 0
    {
    sleep 10000
    VarSetCapacity(powerStatus, 1+1+1+1+4+4)
    success := DllCall("GetSystemPowerStatus", "UInt", &powerStatus)
    acLineStatus:=ReadInteger(&powerstatus,0,1,false)
    If %acLineStatus% = 0
    {
    Send, {Media_Stop}
    ExitApp
    }
    else
    Return
    }
    else
    Return

    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
    }

    кусок отправки в режим сна

    Suspend:
    Gui, Submit, NoHide
    if force
    DllCall("PowrProf\SetSuspendState", "int", 0, "int", 1, "int", 0)
    else
    DllCall("PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0)
    Return

    кусок отправки в режим гибернации

    Hibernate:
    Gui, Submit, NoHide
    if force
    DllCall("PowrProf\SetSuspendState", "int", 1, "int", 1, "int", 0)
    else
    DllCall("PowrProf\SetSuspendState", "int", 1, "int", 0, "int", 0)
    Return
    Последний раз редактировалось se13; 13.06.2011 в 12:02.

  2. #2
    Новичок
    Регистрация
    30.04.2011
    Возраст
    50
    Сообщений
    13
    Вес репутации
    183

    По умолчанию Re: Примеры ahk-скриптов

    Привет. Дело такое. Проигрыватель фубор не ставится на паузу, когда комп спать ложится или гибернирует. Мне нужен скрипт анк который бы перед сном нажимал кнопку стоп. Виндовский плеер прерывает воспроизведение, а фубор нет. Помогите с написанием такого, или ткните на готовое решение.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •