Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

« Your favorite AHK script(s) »


  • Please log in to reply
19 replies to this topic
sumon
  • Moderators
  • 1317 posts
  • Last active: Dec 05 2016 10:14 PM
  • Joined: 18 May 2010
Posted Image

The Autohotkey community has existed for a long, long time. Finding the best out of the already made useful scripts is not such an easy task, especially for newcomers. In the Autohotkey Wiki, there is a categorized listing of scripts, but it says nothing about quality or popularity of scripts, nor how up-to-date they are.

Therefore, I make this thread for two purposes:

1) So that we, the Autohotkey community, may list and find useful scripts by sharing our experiences.

2) So that people may discuss on the topics of what they like for kind of scripts, give appreciation to AHK programmers, and how they are using Autohotkey and its' many derived scripts.

Hopefully we can all gets some good tips of nice scripts to try out or recommend to people!

Note: You can list top-3 or top-10 or whatever if you prefer. Description/author/topic is optional. Add yourself if you want to, but preferably include other authors too. Feel free to add honorable mentions.

Formatting:

[size=18][b]My 5 favorite AHK scripts:[/b][/size]

[b]Script1[/b] by Author
[i]Description:[/i]
[i]Topic:
[/i]
[b]Script2[/b]
[i]Description:[/i]
[i]Topic:[/i]

[b]Script3[/b]
[i]Description:[/i]
[i]Topic:[/i]

[b]Script4[/b]
[i]Description:[/i]
[i]Topic:[/i]

[b]Script5[/b]
[i]Description:[/i]
[i]Topic:[/i]


sumon
  • Moderators
  • 1317 posts
  • Last active: Dec 05 2016 10:14 PM
  • Joined: 18 May 2010
I'll start :) No particular order.

Accelerated Scrolling by BoffinbraiN
Description: Makes fast scrolling accelerated, for easier mousescrolling.
Topic: <!-- m -->http://www.autohotke...ic.php?p=323193<!-- m -->

Appskey by ManaUser
Description: A collection of easy/useful hotkeys, all bound to the unused Appskey.
Topic: <!-- m -->http://www.autohotke...pic.php?t=27797<!-- m -->

OnScreen Time by Thanh00
Description: <!-- m -->http://img713.images...7/img0124xn.jpg<!-- m -->
Topic: <!-- m -->http://www.autohotke...pic.php?t=66207<!-- m -->

Zizorz by sumon (myself)
Description: Copy parts of your screen. Includes instant upload-to-imageshack.
Topic: <!-- m -->http://www.autohotke...topic70759.html<!-- m -->

Windows Shutdown Timer by em02044
Description: Shuts down/hibernates/etc. after X minutes. Has a really nice GUI.
Topic: <!-- m -->http://www.autohotke...pic.php?t=68792<!-- m -->

tidbit
  • Administrators
  • 2709 posts
  • Hates playing Janitor
  • Last active: Jan 15 2016 11:37 PM
  • Joined: 09 Mar 2008
note: i have modifed most/all of the scripts for my own liking.


My 4 favorite AHK scripts:

Volume OSD by rajat
Description: simple volume changer, using mousewheel and a hotkey. useing on WINXP.
Topic: <!-- m -->http://www.autohotke...wtopic.php?t=88<!-- m -->

Mango - Clipboard tools by tidbit
Description: a bunch of clipboard manipulation tools.
Topic: not released (it is, but not up-to-date)

Commando by tidbit
Description: a bunch of text commands i can type anywhere. convert units, roll a dice, enter my email(s) and addresses. calculate math, get the current time or date, start a timer and much much more.
Topic: not released (it is, but not up-to-date)

edit: and Smart GUI Creator ;D

rawr. be very afraid
*poke*
. Populate the AutoHotkey city. Pointless but somewhat fun. .


fragman
  • Members
  • 1591 posts
  • Last active: Nov 12 2012 08:51 PM
  • Joined: 13 Oct 2009
I mostly use my own program 7plus and implement all features that I consider useful. I'm looking at this from a developers perspective, so I can't post other suggestions as I'm not using any others.

I would like to encourage others to keep posting though. The AppsKey script has some very interesting features, I think I'll implement some of them on my own in 7plus.

shajul
  • Members
  • 571 posts
  • Last active: Aug 01 2015 03:45 PM
  • Joined: 15 Sep 2006
My fav list (ones i have used a lot), in no particular order

* SciTE4AutoHotkey & GenDocs by fincs
* Volume Control OSD by em02044 and Vista Audio Control Fns by Lexikos
* Wake-up-timer/ Scheduler-Function by Boskoop
* SmartGUI Creator by Rajat

and a lot of my own scripts including Easy Edit/Manage Hotkeys/Hotstrings Plugin
If i've seen further it is by standing on the shoulders of giants

my site | ~shajul | WYSIWYG BBCode Editor

sumon
  • Moderators
  • 1317 posts
  • Last active: Dec 05 2016 10:14 PM
  • Joined: 18 May 2010
Bump! ScreenClipper is still a favorite, but is now named Zizorz (changed).

New favorite: Appifyer. Shameless, huh?

Appifyer by sumon
Description: Launches and installs apps using hotkeys or a menu.
Topic: <!-- m -->http://www.autohotke...pic.php?t=71902<!-- m -->

I mostly bumped to get some more input to this thread though, shame to just let it die!

T800
  • Members
  • 107 posts
  • Last active: Feb 01 2014 11:14 PM
  • Joined: 15 Oct 2006
This is my little script me and my brother can't live without. 8)
I have laptop and he's got desktop + he's lefthanded so F1 and F2 are constantly under the fingers.

#NoEnv
SendMode Input
#SingleInstance ignore
#persistent

; multitab speedups for firefox
#IfWinActive,ahk_class MozillaWindowClass
f1::^w ;----close tab with F1
f2::MButton ;---- F2 as middleclick

; fast close IE with Escape
#IfWinActive,ahk_class IEFrame
Esc::!f4


Chicken Pie 4 Tea
  • Members
  • 379 posts
  • Last active: Dec 12 2014 06:46 PM
  • Joined: 18 Aug 2009
JAL by Fluffy(formerly A.N.Other)

Its quite handy really, very good for launching ahk srcipts and progs.
just put your script in the functions folder and rename it to the name you want to call it with - eg if it was called "halfwindows" rename it to hw, then you just type hw and the script gets launched.
easy to make simple ahk scripts to lauch progs like run, C:\bla.exe call the script bla and put in the functions folder

http://www.autohotke...&highlight=jal)
-----------------------------------------
Keyword program launcher by silkcom
http://www.autohotke...gramme launcher
Its like a cross between an app launcher and a text snippets paster, you just start typing your shortcut name either when no program is active or while typing an email and a tooltip will appear , press tab to autotype something or launch a program
------------------------
Redstone - wish he had kept on with it. program launcher, tast switcher etc etc.
http://www.autohotke...hlight=redstone
Launch applications by typing in part of the name
* Type in URLs or a web search phrase
* View active processes (task and process views)
* History of launched applications
* Imports Skype contacts and Firefox bookmarks
* Integrated Google Desktop search
* RSS feed import (such as Google Docs Active Items
"Choose your parents wisely"

ScottMattes_Offline
  • Guests
  • Last active:
  • Joined: --
My 2 favorite AHK scripts:

QuickAHK by jballi
Description: quickly test out an idea.
Topic:http://www.autohotkey.com/forum/topic36159.html&highlight=quickahk


QuickReminder by jballi
Description: reminds you like an alarm clock
Topic:http://www.autohotkey.com/forum/topic35135.html&highlight=quickreminder


jballi
  • Members
  • 1029 posts
  • Last active:
  • Joined: 01 Oct 2005
To label these scripts as my "favorites" might be a bit of an overstatement but they are very useful and I would recommend them to everyone.

My 5 favorite AHK scripts:

Attach by majkinetor
Description: Resize a control when the parent window is resized.
Topic (Original): http://www.autohotke...pic.php?t=48298
Topic (Forms Framework): http://www.autohotke...pic.php?t=53317

COM Standard Library by Sean
Description: http://www.microsoft...om/default.mspx
Note: This library is not needed for AutoHotkey_L.
Topic: http://www.autohotke...pic.php?t=22923

Dlg by majkinetor
Description: Call some built-in dialogs (Icon, Color, Font, Open/Save, Find/Replace)
Topic (Original): http://www.autohotke...pic.php?t=17230
Topic (Forms Framework): http://www.autohotke...pic.php?t=53317

FileMD5 by SKAN
Description: Computes and returns MD5 hash. Great when searching for file duplicates.
Topic: http://www.autohotke...pic.php?t=64211

Win32 Constants by SKAN
Description: Get a list of Microsoft constants (names and values) without having to search for them on the interwebs.
Topic: http://www.autohotke...pic.php?t=19766

girlgamer
  • Moderators
  • 3263 posts
  • Last active: Feb 01 2015 09:49 AM
  • Joined: 04 Jun 2010
If by "favorite" you mean the ones i tend to use the most... that would be1) My login manager that allows me to log in to my most popular websites, and games. It provides a way to send my usernames (since they vary from site to site, my passwords, since they also vary from site to site. It also sends any email address i have set up for that site, and it moves the site window to location 0,0 on the screen. Right now i have 32 sites stored in an ini file that the script uses to decide which site to access.

2) My password generator handles the generation of user passwords of varying lengths width with user definable combinations of numbers, upper and lower case letters, hex digits and special characters. It also checks the passwords for their "strength". the max I've tested it for was 128 characters (1024 bits).

3) My Game fight aid (sequencers), some simple some complex, that i've used for various games I've played including LOTRO, EQ2, AoC, WhO, and now RIFT (which is still in development)

4) A find clickable locations utility that allows me to pick clickable locations on the screen and grabs and verifies the locations and colors at those positions and can display the color in a color box and as hex.

5) And a simple window stats grabber that allows me to see the ahk_id of an active process, it's window name, class, width, height, and it's location on the screen
As you can probably tell from that list (and some of my previous posts) that I love building game aid tools. Since I'm basically retired and somewhat limited in the amount of time i can stay online and play, anything that can extend that time is the focus of my avid attention. I do have a lot of free time on my hands. And it doesn't hurt a bit that AHK is so friendly to build stuff with.

The universe is a wondrous place! The faster you create unbreakable code, the faster the universe creates people that can break it. All scripting follows the rule Rule Of Twos -- 1) Good, 2) Fast 3) Cheap -- pick any Two.
I guarantee absolutely nothing about any code I provide except that it works in my machine. ●
MMO Fighter   KeyLooperDemo   Key Spammer   TinyClickRecorder  GGs Password Generator.ahk
For the newest version of AutoHotkey and some killer scripts go here.
Rock-on%20kitten.gif


Chicken Pie 4 Tea
  • Members
  • 379 posts
  • Last active: Dec 12 2014 06:46 PM
  • Joined: 18 Aug 2009
@girlgamer the login script looks good and useful but I guess it's for IE only.
oops, now that I look at the code, no it works with firefox fine, works well too :D
"Choose your parents wisely"

sumon
  • Moderators
  • 1317 posts
  • Last active: Dec 05 2016 10:14 PM
  • Joined: 18 May 2010
BUMP! More contributions please folks, I find this very useful (and I'm not the only one). I might even do a video review of some of the mentioned scripts here.

  • Guests
  • Last active:
  • Joined: --
i like this script alot

it can move windows, resize it , close it or switch it to another screen
to activate the script i set my horizontal scrollwheel to trigger the script

i am really sorry, cause i did not know where i get this script from



;______________________Init______________________
;______________________________________________

#NoTrayIcon
#SingleInstance, Force

If (A_AhkVersion < "1.0.39.00")
{
    MsgBox,20,,This script may not work properly with your version of AutoHotkey. Continue?
    IfMsgBox,No
    ExitApp
}


SetWinDelay,2
CoordMode,Mouse
Hotkey, LButton , , Off
Hotkey, RButton , , Off
Hotkey, MButton, ,Off
SysGet, Mon1, Monitor, 1
SysGet, Mon2, Monitor, 2

return

;_________________Toggle Hotkeys________________
;______________________________________________

~F10::
if toggle := !toggle
{
   SetSystemCursor()
   Hotkey, LButton, On
   Hotkey, RButton, On
   Hotkey, MButton, On
   CoordMode, ToolTip
   SetTimer, Timer, 20
}
else
{
   RestoreCursors()
   Hotkey, LButton, Off
   Hotkey, RButton, Off
   Hotkey, MButton, Off
   SetTimer, Timer, Off
   ToolTipFM()
}
return


;_________________function Hotkeys________________
;______________________________________________

LButton::

DoubleLB := A_PriorHotKey = "LButton" AND A_TimeSincePriorHotkey < 400
if DoubleLB
{   
    mousegetpos,,,windowtomove
    gosub windowmove
    return
}
; Get the initial mouse position and window id, and
; abort if the window is maximized.
MouseGetPos,KDE_X1,KDE_Y1,KDE_id
WinGet,KDE_Win,MinMax,ahk_id %KDE_id%
If KDE_Win
   return
; Get the initial window position.
WinGetPos,KDE_WinX1,KDE_WinY1,,,ahk_id %KDE_id%
Loop
{
    GetKeyState,KDE_Button,LButton,P ; Break if button has been released.
    If KDE_Button = U
        break
    MouseGetPos,KDE_X2,KDE_Y2 ; Get the current mouse position.
    KDE_X2 -= KDE_X1 ; Obtain an offset from the initial mouse position.
    KDE_Y2 -= KDE_Y1
    KDE_WinX2 := (KDE_WinX1 + KDE_X2) ; Apply this offset to the window position.
    KDE_WinY2 := (KDE_WinY1 + KDE_Y2)
    WinMove,ahk_id %KDE_id%,,%KDE_WinX2%,%KDE_WinY2% ; Move the window to the new position.
}
return


RButton::

DoubleRB := A_PriorHotKey = "RButton" AND A_TimeSincePriorHotkey < 400
if DoubleRB
{
    MouseGetPos,,,KDE_id
    ; Toggle between maximized and restored state.
    WinGet,KDE_Win,MinMax,ahk_id %KDE_id%
    If KDE_Win
    {
        WinRestore,ahk_id %KDE_id%
    }
    Else
    {
        WinMaximize,ahk_id %KDE_id%
     }
     return    
}
; Get the initial mouse position and window id, and
; abort if the window is maximized.
MouseGetPos,KDE_X1,KDE_Y1,KDE_id
WinGet,KDE_Win,MinMax,ahk_id %KDE_id%
If KDE_Win
    return
; Get the initial window position and size.
WinGetPos,KDE_WinX1,KDE_WinY1,KDE_WinW,KDE_WinH,ahk_id %KDE_id%
; Define the window region the mouse is currently in.
; The four regions are Up and Left, Up and Right, Down and Left, Down and Right.
If (KDE_X1 < KDE_WinX1 + KDE_WinW / 2)
   KDE_WinLeft := 1
Else
   KDE_WinLeft := -1
If (KDE_Y1 < KDE_WinY1 + KDE_WinH / 2)
   KDE_WinUp := 1
Else
   KDE_WinUp := -1
Loop
{
    GetKeyState,KDE_Button,RButton,P ; Break if button has been released.
    If KDE_Button = U
        break
    MouseGetPos,KDE_X2,KDE_Y2 ; Get the current mouse position.
    ; Get the current window position and size.
    WinGetPos,KDE_WinX1,KDE_WinY1,KDE_WinW,KDE_WinH,ahk_id %KDE_id%
    KDE_X2 -= KDE_X1 ; Obtain an offset from the initial mouse position.
    KDE_Y2 -= KDE_Y1
    ; Then, act according to the defined region.
    WinMove,ahk_id %KDE_id%,, KDE_WinX1 + (KDE_WinLeft+1)/2*KDE_X2  ; X of resized window
                            , KDE_WinY1 +   (KDE_WinUp+1)/2*KDE_Y2  ; Y of resized window
                            , KDE_WinW  -     KDE_WinLeft  *KDE_X2  ; W of resized window
                            , KDE_WinH  -       KDE_WinUp  *KDE_Y2  ; H of resized window
    KDE_X1 := (KDE_X2 + KDE_X1) ; Reset the initial position for the next iteration.
    KDE_Y1 := (KDE_Y2 + KDE_Y1)
}
return


MButton::
    MouseGetPos,,,KDE_id
    WinClose,ahk_id %KDE_id%
return

;____________________functions__________________
;______________________________________________


Timer:
    ToolTipFM(" Fenster können verändert werden...`n`n  Linke Maustaste`t-->`tFenster verschieben`n  2xLinke Maustaste`t-->`tFenster auf anderen Bildschirm schieben  `n  Rechte Maustaste`t-->`tFenstergröße verändern`n  2xRechte Maustaste`t-->`tVollbild an/aus`n  Mittlere Maustaste`t-->`tFenster schließen`n")
return


windowmove:
if not mon2left 
return
wingetpos,x1,y1,w1,h1,ahk_id %windowtomove%
winget,winstate,minmax,ahk_id %windowtomove%
m1:=(x1+w1/2>mon1left) and (x1+w1/2<mon1right) and (y1+h1/2>mon1top) and (y1+h1/2<mon1bottom) ? 1:2   ;works out if centre of window is on monitor 1 (m1=1) or monitor 2 (m1=2)
m2:=m1=1 ? 2:1  ;m2 is the monitor the window will be moved to
ratiox:=abs(mon%m1%right-mon%m1%left)-w1<5 ? 0:abs((x1-mon%m1%left)/(abs(mon%m1%right-mon%m1%left)-w1))  ;where the window fits on x axis
ratioy:=abs(mon%m1%bottom-mon%m1%top)-h1<5 ? 0:abs((y1-mon%m1%top)/(abs(mon%m1%bottom-mon%m1%top)-h1))   ;where the window fits on y axis
x2:=mon%m2%left+ratiox*(abs(mon%m2%right-mon%m2%left)-w1)   ;where the window will fit on x axis in normal situation
y2:=mon%m2%top+ratioy*(abs(mon%m2%bottom-mon%m2%top)-h1)
w2:=w1   
h2:=h1   ;width and height will stay the same when moving unless reason not to lower in script

if abs(mon%m1%right-mon%m1%left)-w1<5 or abs(mon%m2%right-mon%m2%left-w1)<5   ;if x axis takes up whole axis OR won't fit on new screen
   {
   x2:=mon%m2%left   
   w2:=abs(mon%m2%right-mon%m2%left)
   }
if abs(mon%m1%bottom-mon%m1%top)-h1<5 or abs(mon%m2%bottom-mon%m2%top)-h1<5
   {
   y2:=mon%m2%top
   h2:=abs(mon%m2%bottom-mon%m2%top)
   }
if winstate   ;move maximized window
   {
   winrestore,ahk_id %windowtomove%
   winmove,ahk_id %windowtomove%,,mon%m2%left,mon%m2%top
   winmaximize,ahk_id %windowtomove%
   }
else
   {
   if (x1<mon%m1%left)
      x2:=mon%m2%left   ;adjustments for windows that are not fully on the initial monitor (m1)
   if (x1+w1>mon%m1%right)
      x2:=mon%m2%right-w2
   if (y1<mon%m1%top)
      y2:=mon%m2%top
   if (y1+h1>mon%m1%bottom)
      y2:=mon%m2%bottom-h2
   winmove,ahk_id %windowtomove%,,x2,y2,w2,h2   ;move non-maximized window
   }
return


ToolTipFM(Text="", WhichToolTip=16, xOffset=16, yOffset=16) {      ; ToolTip which Follows the Mouse
   static LastText, hwnd, VirtualScreenWidth, VirtualScreenHeight      ; http://www.autohotkey.com/forum/post-430240.html#430240
   
   if (VirtualScreenWidth = "" or VirtualScreenHeight = "")
   {
      SysGet, VirtualScreenWidth, 78
      SysGet, VirtualScreenHeight, 79
   }
   
   if (Text = "")   ; destroy tooltip
   {
      ToolTip,,,, % WhichToolTip
      LastText := "", hwnd := ""
      return
   }
   else   ; move or recreate tooltip
   {
      CoordMode, Mouse, Screen
      MouseGetPos, x,y
      x += xOffset, y += yOffset
      WinGetPos,,,w,h, ahk_id %hwnd%
     
      ; if necessary, adjust Tooltip position
      if ((x+w) > VirtualScreenWidth)
      AdjustX := 1
      if ((y+h) > VirtualScreenHeight)
      AdjustY := 1
     
      if (AdjustX and AdjustY)
      x := x - xOffset*2 - w, y := y - yOffset*2 - h
      else if AdjustX
      x := VirtualScreenWidth - w
      else if AdjustY
      y := VirtualScreenHeight - h
     
      if (Text = LastText)   ; move tooltip
      DllCall("MoveWindow", A_PtrSize ? "UPTR" : "UInt",hwnd,"Int",x,"Int",y,"Int",w,"Int",h,"Int",0)
      else   ; recreate tooltip
      {
         ; Perfect solution would be to update tooltip text (TTM_UPDATETIPTEXT), but must be compatible with all versions of AHK_L and AHK Basic.
         ; My Ask For Help link:      http://www.autohotkey.com/forum/post-421841.html#421841       
         CoordMode, ToolTip, Screen
         ToolTip,,,, % WhichToolTip   ; destroy old
         ToolTip, % Text, x, y, % WhichToolTip   ; show new
         hwnd := WinExist("ahk_class tooltips_class32 ahk_pid " DllCall("GetCurrentProcessId")), LastText := Text
         %A_ThisFunc%(Text, WhichToolTip, xOffset, yOffset)   ; move new
      }
      Winset, AlwaysOnTop, on, ahk_id %hwnd%
   }
}

SetSystemCursor()
{
   IDC_HAND := 32649
   CursorHandle := DllCall( "LoadCursor", Uint,0, Int,IDC_HAND )
   Cursors = 32512,32513,32514,32515,32516,32640,32641,32642,32643,32644,32645,32646,32648,32649,32650,32651
   Loop, Parse, Cursors, `,
   {
      DllCall( "SetSystemCursor", Uint,CursorHandle, Int,A_Loopfield )
   }
}

RestoreCursors()
{
   SPI_SETCURSORS := 0x57
   DllCall( "SystemParametersInfo", UInt,SPI_SETCURSORS, UInt,0, UInt,0, UInt,0 )
}


TheGreatSwami Woo
  • Members
  • 237 posts
  • Last active: Jan 22 2012 03:31 PM
  • Joined: 26 May 2011
two more I like
AHK command console
http://www.autohotke.../topic7831.html
or QucikAHK

What I would really like as they exist for Python and Bash is a console like app that can not only allow you to run your ahk code to test it but swtch to a command console where you can do dir commands like create or rename folders etc. wth simple commands. Maybe it would be possilbe to just use AHK built in commands if they could be shortened (given shortcut names)
If you had ever used Ipython you would know what I mean. It's like a cross between a python IDE and a system command module.