I've written a quick script for you, however it uses the gdip.ahk library so you will need to download that first and save it to gdip.ahk in the same directory
here's a url for the library -
http://www.autohotkey.net/~tic/Gdip.ahk
Once you have both gdip.ahk and this script in the same place, run this script and press F1 to toggle on and off the circle
Code: Select all
#include gdip.ahk ;download gdip.ahk at http://www.autohotkey.net/~tic/Gdip.ahk save it in the same directory as this script as gdip.ahk
coordmode,mouse,screen
radius := 100
radiusHalf := radius / 2
toggle := 0 ;off default
Gui,-Caption +E0x80000 +alwaysontop +toolwindow +E0x20 ;e0x20 = gui can be clicked through
gui,show,NA,MouseCircleGui
hwnd := WinExist("MouseCircleGui")
Gdip_Startup()
hbm := CreateDIBSection(radius,radius)
hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHdc(hdc)
circleBrush := Gdip_BrushCreateSolid(0x60FFFF00) ;0x (transparency=20) (red=FF) (green=FF) (blue=FF)
return
f9::reload
f8::exitapp
f1::
toggle := !toggle ;inverts toggle state
if (toggle) {
Gdip_FillEllipse(G,circleBrush,0,0,radius,radius)
settimer,update,10
} else {
settimer,update,off
Gdip_GraphicsClear(G) ;clear the circle
UpdateLayeredWindow(hwnd, hdc, mouse_x-radiusHalf, mouse_y-radiusHalf, radius, radius) ;update
}
return
update:
mousegetpos,mouse_x,mouse_y
UpdateLayeredWindow(hwnd, hdc, mouse_x-radiusHalf, mouse_y-radiusHalf, radius, radius)
return