This Autohotkey script allows you to run custom commands based on your systems AC power status.
By default, the script will disable Dropbox when the battery is discharging, and restart it once AC power is restored.
The script can be easily modified to preform any task on either "AC Power On" or "AC Power Off" events by modifying the corresponding function. Please note that if your Dropbox daemon is not installed in the default directory, you may have to modify the script appropriately.
I was inspired to write this after reinstalling my laptop when I suddenly discovered a dramatic improvement in battery life. With Dropbox as a prime suspect, I was looking for a simple way to turn it on and off depending on the laptops power state. I hope you find this script useful for keeping Dropbox, and any other power hungry apps you may have in check.
If you've found any other original uses for the script, I'd love to hear about them in the comments!
Download the AHK Script
Source Code:
By default, the script will disable Dropbox when the battery is discharging, and restart it once AC power is restored.
The script can be easily modified to preform any task on either "AC Power On" or "AC Power Off" events by modifying the corresponding function. Please note that if your Dropbox daemon is not installed in the default directory, you may have to modify the script appropriately.
I was inspired to write this after reinstalling my laptop when I suddenly discovered a dramatic improvement in battery life. With Dropbox as a prime suspect, I was looking for a simple way to turn it on and off depending on the laptops power state. I hope you find this script useful for keeping Dropbox, and any other power hungry apps you may have in check.
If you've found any other original uses for the script, I'd love to hear about them in the comments!
Download the AHK Script
Source Code:
;; Close Programs Based On Laptop Power State ;; By Boaz Arad ;; http://www.boazarad.com ;;http://www.machinereadable.net/2011/05/disable-dropbox-while-running-on.html ;;Define Custom commands to be run while switching from battery- ;;power to AC power or vice versa ACPowerOn() ;Run when plugged in { ;Default Dropbox install dir - modify if necessary DropBoxExe=%A_AppData%\Dropbox\bin\Dropbox.exe Run %DropBoxExe% ;MsgBox "AC Power On" } ACPowerOff() ;Run when unplugged { Process, close, Dropbox.exe ;MsgBox "AC Power Off" } /* Notes: Since "On AC Power" and "On AC Power, Charging" are two seperate events "ACPowerOn" may be run twice When the is plugged in and it's battery is already charged to over 95% of capacity. This issue can be solved by setting "B_Threshold" (below) to the maximum charge level of your laptop battery. This is necessary since if your battery is at full capacity, plugging in your laptop will not set the battery status to "Charging". */ B_Threshold=95 /* Made Possible by: Wrapper to catch Power Management events by TheGood (http://www.autohotkey.com/forum/topic40008.html) Shimanov's ReadInteger function: (http://www.autohotkey.com/forum/topic6144.html) AC/Battery status by antonyb (http://www.autohotkey.com/forum/topic7633.html) */ 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 } OnMessage(536, "OnPBMsg") ;WM_POWERBROADCAST Return OnPBMsg(wParam, lParam, msg, hwnd) { If (wParam = 10) { ;Power state change detected VarSetCapacity(powerstatus, 1+1+1+1+4+4) success := DllCall("kernel32.dll\GetSystemPowerStatus", "uint", &powerstatus) acLineStatus:=ReadInteger(&powerstatus,0,1,false) batteryFlag:=ReadInteger(&powerstatus,1,1,false) batteryLifePercent:=ReadInteger(&powerstatus,2,1,false) batteryLifeTime:=ReadInteger(&powerstatus,4,4,false) 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% ;MsgBox %output% ;Debug - show full powerstatus info If (acLineStatus=0) ACPowerOff() Else ;If (batteryFlag>=8 | batteryLifePercent>%B_Threshold%) ;Plugged in and charging (http://msdn.microsoft.com/en-us/library/aa373232(v=vs.85).aspx) ACPowerOn() } ;Must return True after message is processed Return True }
Download the AHK Script
Boaz Arad rocks! All the time. :)
ReplyDeleteThanks for sharing such an amazing thing
That was Roy from IEM :)
ReplyDeleteBatteries are also used in cars and motorcycles to start the motor. Those car and motorcycle batteries are really powerful ones.How To Recondition A Hybrid Battery
ReplyDeleteI really impressed after read this because of some quality work and informative thoughts . I just wanna say thanks for the writer and wish you all the best for coming!. look at this link
ReplyDeleteHowever, the search bar's downside is that it requires the proper name. Even if there's a letter mistake, the search bar just isn't smart sufficient search out|to search out} the results. Slot Machine for Windows 10 is a free Windows recreation, that belongs to the class PC video games with subcategory 온라인 카지노 Classics and has been printed by See Sharp Guys.... Hypervisual Century Slots is a pleasant, free recreation solely out there for Windows, being part of of} the class PC video games with subcategory Classics (more specifically... Kiddions Mod Menu is a free recreation utility that has the ability to change your GTA 5 gameplay in various methods without getting detected by the game’s security...
ReplyDelete