topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Monday December 29, 2025, 9:32 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Recent Posts

Pages: prev1 2 3 4 [5] 6 7 8 9 10 ... 38next
101
Post New Requests Here / Re: WinFill - better than Aero Snap?
« Last post by skrommel on January 12, 2009, 02:49 AM »
 :tellme: That's odd, I'm running Vista, too. It should just be a matter of taking a window by it's caption and dropping it on a screen edge. Try the upper left corner and let me know.

Skrommel
102
Post New Requests Here / WinFill - better than Aero Snap?
« Last post by skrommel on January 11, 2009, 06:12 PM »
 :) Waiting for Windows 7?

WinFill - Drag a window to the edges of the screen to resize it.

Idea stolen from Windows 7's Aero Snap, but with more zones.

A  B  C  D  E

F             G

H             I

J   K      M N

A = top left corner = resize to fill top left quarter of the screen
B = top left           = resize to fill left half of the screen
C = top center      = maximize
...
F = left top          = resize to fill upper half of the screen
...

Try it!

Skrommel

;WinFill.ahk
; Drag a window to the edges of the screen to resize it
; A  B  C  D  E
;
; F           G
;
; H           I
;
; J  K    M   N
;Skrommel @ 2009

#SingleInstance,Force
SetWinDelay,0
CoordMode,Mouse,Screen
;CoordMode,ToolTip,Screen


~LButton::
MouseGetPos,mx0,my0,mwin1,mctrl1
WinGetPos,wx1,wy1,ww1,wh1,ahk_id %mwin1%
mx1:=mx0-wx1
my1:=my0-wy1
Return


~LButton Up::
MouseGetPos,mx2,my2,mwin2,mctrl2
SysGet,dragx,68
SysGet,dragy,69
If (mx2>=mx0-dragx And mx2<=mx0+dragx And my2>=my0-dragy And my2<=my0+dragy)
  Return

WinGet,progman,Id,Program Manager ahk_class Progman
If (progman=mwin1)
  Return
WinGetPos,wx2,wy2,ww2,wh2,ahk_id %mwin1%
mx3:=mx2-wx2
my3:=my2-wy2
SysGet,monitors,MonitorCount
Loop,% monitors
{
  current:=A_Index
  SysGet,monitor,Monitor,% current
  If (mx2>=monitorLeft And mx2<=MonitorRight And my2>=MonitorTop And my2<=MonitorBottom)
    Break
}
SysGet,monitor,MonitorWorkArea,% current
;ToolTip,%current%:%monitorLeft%-%monitorTop%-%mx2%-%my2%,100,100

If (mx3<>mx1 Or my3<>my1)
  Return
If (ww2<>ww1 Or wh2<>wh1)
  Return

If (mx2<=monitorLeft)
{
  If (my2=monitorTop)        ;topleft
    WinMove,ahk_id %mwin1%,,% monitorLeft,% monitorTop,% monitorRight/2,% monitorBottom/2 ;topleft
  Else
  If (my2>monitorTop And my2<monitorBottom/4)        ;topleft
    WinMove,ahk_id %mwin1%,,% monitorLeft,% monitorTop,% monitorRight,% monitorBottom/2 ;top
  Else
  If (my2>=monitorBottom/4 And my2<monitorBottom/4*3) ;middleleft
    WinMove,ahk_id %mwin1%,,% monitorLeft,% monitorTop,% monitorRight/2,% monitorBottom ;left
  Else
  If (my2>=monitorBottom/4*3 And my2<monitorBottom-1)  ;bottomleft
    WinMove,ahk_id %mwin1%,,% monitorLeft,% monitorBottom/2,% monitorRight,% monitorBottom/2 ;bottom
  Else
  If (my2=monitorBottom-1)  ;bottomleft
    WinMove,ahk_id %mwin1%,,% monitorLeft,% monitorBottom/2,% monitorRight/2,% monitorBottom/2 ;bottomleft
}
Else
If (mx2>=monitorRight)
{
  If (my2=monitorTop)        ;topright
    WinMove,ahk_id %mwin1%,,% monitorRight/2,% monitorTop,% monitorRight/2,% monitorBottom/2 ;topright
  Else
  If (my2>=monitorTop And my2<monitorBottom/4)        ;topright
    WinMove,ahk_id %mwin1%,,% monitorLeft,% monitorTop,% monitorRight,% monitorBottom/2 ;top
  Else
  If (my2>=monitorBottom/4 And my2<monitorBottom/4*3) ;middleright
    WinMove,ahk_id %mwin1%,,% monitorRight/2,% monitorTop,% monitorRight/2,% monitorBottom ;right
  Else
  If (my2>=monitorBottom/4*3 And my2<monitorBottom-1)  ;bottomright
    WinMove,ahk_id %mwin1%,,% monitorLeft,% monitorBottom/2,% monitorRight,% monitorBottom/2 ;bottom
  Else
  If (my2=monitorBottom-1)  ;bottomright
    WinMove,ahk_id %mwin1%,,% monitorRight/2,% monitorBottom/2,% monitorRight/2,% monitorBottom/2 ;bottomright
}
Else
If (my2<=monitorTop)
{
  If (mx2>=monitorLeft And mx2<monitorRight/4)        ;topleft
    WinMove,ahk_id %mwin1%,,% monitorLeft,% monitorTop,% monitorRight/2,% monitorBottom ;left
  Else
  If (mx2>=monitorRight/4 And mx2<monitorRight/4*3)     ;topmiddle
    WinMove,ahk_id %mwin1%,,% monitorLeft,% monitorTop,% monitorRight,% monitorBottom ;full
  Else
  If (mx2>=monitorRight/4*3 And mx2<=monitorRight)     ;bottom
    WinMove,ahk_id %mwin1%,,% monitorRight/2,% monitorTop,% monitorRight/2,% monitorBottom ;right
;    WinMove,ahk_id %mwin1%,,% monitorLeft,% monitorBottom/2,% monitorRight,% monitorBottom/2 ;topright
}
Else
If (my2>=monitorBottom-1)
{
  If (mx2>=monitorLeft And mx2<monitorRight/4)        ;bottomleft
    WinMove,ahk_id %mwin1%,,% monitorLeft,% monitorTop,% monitorRight/2,% monitorBottom ;left
  Else
;  If (mx2>=monitorRight/4 And mx2<monitorRight/4*3)     ;bottommiddle
;    WinMinimize,ahk_id %mwin1% ;WinMove,ahk_id %mwin1%,,% monitorLeft,% monitorTop,% monitorRight,% monitorBottom ;full
;  Else
  If (mx2>=monitorRight/4*3 And mx2<=monitorRight)     ;bottom
    WinMove,ahk_id %mwin1%,,% monitorRight/2,% monitorTop,% monitorRight/2,% monitorBottom ;right
}
Return
103
 :) Here's WallpaperVolume, a quick hack, untested, XP only.

Just fill in the first few lines with wallpaper names and volumes, and see if it works.

Skrommel

;WallpaperVolume.ahk
; Change the volume when the wallpaper changes in XP
;Skrommel @ 2009

wallpaper1=Waves.jpg
volume1=10
wallpaper2=Sunlight.jpg
volume2=50
wallpaper3=Golf.jpg
volume3=100

#NoEnv
#SingleInstance,Force

Loop
{
  Sleep,1000
  oldwallpaper:=wallpaper
  RegRead,wallpaper,HKEY_CURRENT_USER,Control Panel\Desktop,wallpaper
  If (wallpaper=oldwallpaper)
    Continue
  Loop
  {
    currentwallpaper:=wallpaper%A_Index%
    If currentwallpaper=
      Break
    IfInString,wallpaper,%currentwallpaper%
    {
      currentvolume:=volume%A_Index%
      SoundSet,%currentvolume%
      TrayTip,%applicationname%,Volume: %currentvolume%
    }
  }
}
104
Post New Requests Here / Re: IDEA batch/deferred printer
« Last post by skrommel on January 10, 2009, 06:49 PM »
 :) I'd go for CutePDF Writer from http://www.cutepdf.com/Products/CutePDF/writer.asp.

It'll create PDF files of whatever you print, just save them to a folder and print them all when you're back at the office.

It's free, too.

Skrommel
105
 :) Here's your AutoHotkey script, IconBoy!

Just edit the first few lines.

Skrommel

;IntoFrame.ahk
; Copies landscape or portrait images
;Skrommel @ 2009

source=%A_MyDocuments%
target=C:\To
types=jpg,jpeg,jpe,png,gif,tif
subdirs=1
landscape=0
portrait=1

#NoEnv
#SingleInstance,Force
SetWorkingDir,%A_ScriptDir%
SetBatchLines,-1

applicationname=IntoFrame

FileCreateDir,%target%
Loop,Parse,types,`,
{
  type:=A_LoopField
  Loop,%source%\*.%type%,0,%subdirs%
  {
    SplitPath,A_LoopFileLongPath,name,dir,ext,name_no_ext,drive
    ImageData_Load(imagedata,A_LoopFileLongPath)
    ImageData_GetSize(imagedata,width,height)
    If ((width>=height And landscape=1) Or (width<=height And portrait=1))
    {
        FileCopy,%A_LoopFileLongPath%,%target%\%name%
        TrayTip,%applicationname%,%target%\%name%
    }
  }
}
Return


;Stolen from Lexicos at http://www.autohotkey.com/forum/topic28334.html
ImageData_Load(ByRef ImageData, ImageFile)
{
    static PixelFormat32bppARGB = 0x26200a
         , ImageLockModeRead = 0x1
         , ImageLockModeUserInputBuf = 0x4
   
    ; Initialize GDI+. Doing this here rather than at script
    ; startup is more convenient, at the cost of ~15ms.
    VarSetCapacity(GdiplusStartupInput, 16, 0), NumPut(1, GdiplusStartupInput)
    GdiplusModule := DllCall("LoadLibrary", "str", "Gdiplus")
    if GdiplusModule = 0
        return false, ErrorLevel:="GDIPLUS NOT FOUND"
    r := DllCall("Gdiplus\GdiplusStartup", "uint*", GdipToken, "uint", &GdiplusStartupInput, "uint", 0)
    if r != 0
        return false, ErrorLevel:=r
   
    ; Convert the filename to a unicode string.
    VarSetCapacity(wImageFile, StrLen(ImageFile)*2+1)
    DllCall("MultiByteToWideChar", "uint", 0, "uint", 0, "str", ImageFile, "int", -1, "uint", &wImageFile, "int", StrLen(ImageFile)+1)
   
    ; Load the image.
    r := DllCall("Gdiplus\GdipCreateBitmapFromFile", "uint", &wImageFile, "uint*", bitmap)
   
    if r != 0
        return false, ErrorLevel:=r
   
    ; Get the image's size.
    DllCall("Gdiplus\GdipGetImageWidth", "uint", bitmap, "uint*", width)
    DllCall("Gdiplus\GdipGetImageHeight", "uint", bitmap, "uint*", height)
   
    ; Make room for a BitmapData structure and the image data.
    VarSetCapacity(ImageData, 24 + width * height * 4, 0)
   
    ; Fill the BitmapData structure with details of the desired image format.
    NumPut(width, ImageData, 0, "UInt")
    NumPut(height, ImageData, 4, "UInt")
    NumPut(width * 4, ImageData, 8, "Int") ; Stride
    NumPut(PixelFormat32bppARGB, ImageData, 12, "Int") ; PixelFormat
    NumPut(&ImageData + 24, ImageData, 16, "UInt") ; Scan0
   
    ; Rect specifies the image region to lock.
    VarSetCapacity(rect, 16, 0)
    NumPut(width, rect, 8)
    NumPut(height, rect, 12)
   
    ; Lock the image and fill ImageData.
    r := DllCall("Gdiplus\GdipBitmapLockBits"
        , "uint", bitmap
        , "uint", &rect
        , "uint", ImageLockModeRead | ImageLockModeUserInputBuf
        ,  "int", PixelFormat32bppARGB
        , "uint", &ImageData)
   
    if r = 0 ; Status.Ok
    {
        ; "LockBits and UnlockBits must be used as a pair."
        DllCall("Gdiplus\GdipBitmapUnlockBits", "uint", bitmap, "uint", &ImageData)
    }
   
    ; Delete the bitmap (image in memory).
    DllCall("Gdiplus\GdipDisposeImage", "uint", bitmap)
   
    ; Uninitialize GDI+.
    DllCall("Gdiplus\GdiplusShutdown", "uint", GdipToken)
    DllCall("FreeLibrary", "uint", GdiplusModule)
   
    return r=0, ErrorLevel:=r
}

; Note: X and Y are one-based.
ImageData_GetPixel(ByRef ImageData, X, Y)
{
    return NumGet(ImageData, 24 + ((Y-1)*NumGet(ImageData,0) + (X-1)) * 4)
}

ImageData_GetSize(ByRef ImageData, ByRef Width, ByRef Height)
{
    Width := NumGet(ImageData, 0)
    Height := NumGet(ImageData, 4)
}
106
Post New Requests Here / Re: Idea: Create shortcut location chooser
« Last post by skrommel on January 10, 2009, 12:37 PM »
:) Try this one!

CreateShortcutThere - Rightclick a file and select the contextmenu CreateShortcutThere... to choose where to place the shortcut.



You'll find the downloads and more info at 1 Hour Software by Skrommel.

Skrommel
107
Post New Requests Here / Re: Simple single exe to show/hide to taskbar
« Last post by skrommel on January 10, 2009, 10:27 AM »
 :) Posted a compiled version of RunAndHide above.

Skrommel
108
Post New Requests Here / Re: show the oddball file
« Last post by skrommel on January 10, 2009, 10:25 AM »
 :) I use ViceVersa from http://www.tgrmn.com!

Very powerful, the pay versions may be overkill?
There's a freeware version at http://www.tgrmn.com/free/

Skrommel
109
Post New Requests Here / Re: IDEA: Sort files and then move to new directories
« Last post by skrommel on January 10, 2009, 10:19 AM »
 :) Just in case you haven't found a working solution...

Skrommel

;MoveSameName.ahk
; Moves files with the same name to a common folder
;Skrommel @ 2009

from=C:\Dir1
to=C:\Dir2

Loop,%from%\*.*,0,0
{
  SplitPath,A_LoopFileLongPath,name,dir,ext,name_no_ext,drive
  MsgBOx,Moving`n %A_LoopFileLongPath%`nto`n %to%\%name_no_ext%\%name%
  FileCreateDir,%to%\%name_no_ext%
  FileMove,%A_LoopFileLongPath%,%to%\%name_no_ext%\%name%
}
110
 :( You need to keep it running.

DropCommand places an OLE enabled window underneath the mouse pointer whenever it hovers over a command window, and then copies and pastes the files dropped to the command line.

 :) It could even be extended to accept dropped text.

Skrommel
111
Post New Requests Here / Re: close folders
« Last post by skrommel on January 09, 2009, 09:48 PM »
:) Try RunToClose!

RunToClose - DoubleClicking a file in Explorer closes Explorer afterwards.

You'll find the downloads and more info at 1 Hour Software by Skrommel.

Skrommel
112
:) Try DropCommand!

DropCommand - Enables drag and drop of files to a command window in Vista.

Features:

- Drop multiple files.



You'll find the downloads and more info at 1 Hour Software by Skrommel.

Skrommel
113
N.A.N.Y. 2009 / NANY 2009 Release: DropCommand
« Last post by skrommel on December 27, 2008, 06:38 PM »
Application NameDropCommand
Version 1.0
Short DescriptionEnables drag and drop of files to a command window in Vista
Supported OSesVista 32
Web Pagehttp://www.1HourSoftware.com
Download Linkhttps://www.donationcoder.com/Software/Skrommel/DropCommand/DropCommand.exe
Minimum RequirementsVista 32
Version historyFirst stable release
Authorskrommel



Why:
Requested on the forum: https://www.donationcoder.com/forum/index.php?topic=16154.0

Usage:
Open a command window, drag and drop a file on the window to place the file name on the command line.

Installing:
Run the exe-file. It creates a wav-file next to it.

Uninstalling:
Delete the exe-file and the wav-file.

Features:
Drop multiple files.

Planned features:
OLE drag and drop.

 :) Skrommel

 
 
 
 
 
 
114
Post New Requests Here / Re: IDEA: Cusor Wormhole for multi-monitor setup
« Last post by skrommel on December 14, 2008, 07:45 PM »
 :) Try MultiMonMouseMove!

- Press F1 to move the mouse the center of the next screen

Skrommel


;MultiMonMouseMove.ahk
; Press F1 to move the mouse the center of the next screen
;Skrommel

#SingleInstance,Force
#NoEnv

F1::
CoordMode,Mouse,Screen
MouseGetPos,mx,my
SysGet,monitors,MonitorCount
Loop,% monitors
{
  current:=A_Index
  SysGet,monitor,Monitor,%current%
  If (mx>=monitorLeft And mx<=monitorRight And my>=monitorTop and my<=monitorBottom)
    Break
}
current+=1
If (current>monitors)
  current=1
SysGet,monitor,Monitor,%current%
MouseMove,% monitorLeft+(monitorRight-monitorLeft)/2,% monitorTop+(monitorBottom-monitorTop)/2
Return
115
N.A.N.Y. 2009 / Re: NANY 2009 Intro
« Last post by skrommel on December 14, 2008, 07:08 PM »
 :) Count me in!

Skrommel
116
Post New Requests Here / Re: Extra mouse buttons combo
« Last post by skrommel on December 09, 2008, 03:40 AM »
 :tellme: I think it should.

Skrommel
117
Post New Requests Here / Re: Simple single exe to show/hide to taskbar
« Last post by skrommel on December 08, 2008, 09:50 AM »
:) How about this?

RunAndHide - Run to hide or show the taskbar.

You'll find the downloads and more info at 1 Hour Software by Skrommel.

Skrommel
118
Post New Requests Here / Re: Extra mouse buttons combo
« Last post by skrommel on December 07, 2008, 04:56 PM »
 :) Try tweaking this script.

Skrommel

;TwoHotkeys.ahk
;Skrommel @ 2008

button1=XButton1
button2=XBUtton2

Hotkey,*%button1%,BUTTON1DOWN
Hotkey,*%button1% Up,BUTTON1UP
Hotkey,*%button2%,BUTTON2DOWN
Hotkey,*%button2% Up,BUTTON2UP
active=0
Return

BUTTON1DOWN:
active+=1
ToolTip,%active%
Return

BUTTON1UP:
If active=1
  Send,1
If active=3
  Send,3
ToolTip,%active%
active=0
Return

BUTTON2DOWN:
active+=2
ToolTip,%active%
Return

BUTTON2UP:
If active=2
  Send,2
If active=3
  Send,4
ToolTip,%active%
active=0
Return

Esc::
ExitApp

119
Post New Requests Here / Re: REQUEST: Monitor Off by button
« Last post by skrommel on December 07, 2008, 01:29 PM »
:) Try this one!

PushMonitOff - Press Shift-F1 to turn the monitor off.

Features:
- Change settings using Settings in the Tray menu.

You'll find the downloads and more info at 1 Hour Software by Skrommel.

 :( Sorry, but any button or mouse action turns the monitor back on...

Skrommel
120
Post New Requests Here / Re: IDEA: Screen saver that isn't a screen saver...
« Last post by skrommel on December 03, 2008, 04:50 PM »
 :) Try LineSaver!

Moves an alternating black and white line accross the screen(s).
To use it as a screensaver, compile it to LineSaver.exe and rename it to LineSaver.scr.

Skrommel


;LineSaver.ahk
; Moves an alternating black and white line accross the screen(s)
; Compile to exe and rename to scr to use as screensaver
;Skrommel @ 2008

#SingleInstance,Force
SetWinDelay,0

Loop,%0%
{
  If %A_Index% Contains s ;Show
    mode=Show
  If %A_Index% Contains c ;Config
  {
    MsgBox,0,LineSaver,www.1HourSoftware.com
    ExitApp
  }
  If %A_Index% Contains p,l ;Preview
    mode=Show
  If %A_Index% Contains a ;PWConfig
  {
    MsgBox,0,LineSaver,www.1HourSoftware.com
    ExitApp
  }
}

VarSetCapacity(active,4,0)
DllCall("user32.dll\SystemParametersInfo","uint",0x0072,"uint",0,"uint*",active,"uint",0) ; SPI_GETSCREENSAVERRUNNING = 0x0072 
If (active>0 Or mode="Show")
  SetTimer,EXIT,1000

minx=9999
maxx=0
miny=9999
maxy=0
SysGet,monitors,MonitorCount
Loop,% monitors
{
  SysGet,monitor%A_Index%,Monitor,%A_index%
  If (monitor%A_Index%Left<minx)
    minx:=monitor%A_Index%Left
  If (monitor%A_Index%Right>maxx)
    maxx:=monitor%A_Index%Right
  If (monitor%A_Index%Top<miny)
    miny:=monitor%A_Index%Top
  If (monitor%A_Index%Bottom>maxy)
    maxy:=monitor%A_Index%Bottom
}

Gui,1:Color,FFFFFF
Gui,1:+ToolWindow -Caption +LastFound +AlwaysOnTop
Gui,1:Show,% "X" minx " Y" miny " W1 H" maxy-miny
guiid1:=WinExist()
WinSet,Transparent,255,ahk_id %guiid1%  ; Transparency
WinSet,ExStyle,+0x20,ahk_id %guiid1%    ; Click-through

Gui,2:Color,000000
Gui,2:+ToolWindow -Caption +LastFound +AlwaysOnTop
Gui,2:Show,% "X" minx " Y" miny " W1 H" maxy-miny
guiid2:=WinExist()
WinSet,Transparent,255,ahk_id %guiid2%  ; Transparency
WinSet,ExStyle,+0x20,ahk_id %guiid2%    ; Click-through

Loop
{
  x:=minx
  Loop,% maxx-minx
  {
    WinMove,ahk_id %guiid1%,,%x%,%miny%
    WinSet,AlwaysOnTop,On,ahk_id %guiid1%
    WinMove,ahk_id %guiid2%,,%x%
    WinSet,AlwaysOnTop,On,ahk_id %guiid2%
    Sleep,100
    x+=1
  }
}

EXIT:
  If A_TimeIdlePhysical<1000
    ExitApp
Return
121
Coding Snacks / Re: IDEA: Windows Desktop Refresh Message Eater
« Last post by skrommel on December 03, 2008, 03:19 PM »
 :tellme: Try replacing

LOCK:
winid:=WinExist("A")
with
LOCK:
winid:=DllCall("GetDesktopWindow")

Skrommel
122
Coding Snacks / Re: Countdown timer with elapsed time shown in tiny docked strip
« Last post by skrommel on December 03, 2008, 01:03 PM »
 :) Here's one showing how many seconds are left when the mouse hovers above the bar.

To make multiple timers I don't think I can use the Progress control... Too much work for tonight...

Skrommel


InputBox, TimerValue, Timer Value, Minutes to countdown:
AlarmTime =
AlarmTime += TimerValue, minutes

alarm=%AlarmTime%  ;Alarm time
height=2       ;Progress bar height >0
message=Time's up!  ;Message to display when timer reached

#NoEnv
#SingleInstance,Force
DetectHiddenWindows,On
CoordMode,Mouse,Screen

range:=AlarmTime
EnvSub,range,%A_now%,seconds

Gui,+ToolWindow +AlwaysOnTop -Caption
Gui,Add,Progress,% "Vprogress X-2 Y-2 W" A_ScreenWidth+4 " H" height+5 " Range0-" range
Gui,Show,% "X0 Y0 W" A_ScreenWidth " H" height
Gui,+LastFound
guiid:=WinExist("A")
WinSet,Transparent,150,ahk_id %guiid%  ; Transparency
WinSet,ExStyle,+0x20,ahk_id %guiid%    ; Click-through

Loop,%range%
{
  Sleep,1000
  left:=range-A_Index
  GuiControl,,progress,% left
  Gosub,LEFT
}
If message<>
  MsgBox,%message%
ExitApp

LEFT:
  MouseGetPos,,my
  If (my<=height)
  {
    showing=1
    ToolTip,% left " seconds left"
  }
  Else
  If showing=1
    ToolTip
Return
123
Coding Snacks / Re: IDEA: Mouse click macro
« Last post by skrommel on December 03, 2008, 12:24 PM »
 :tellme: Here's an AutoHotkey script that send a when the left mouse button is clicked, but how is this useful?

Skrommel

#SingleInstance,Force
LButton::Send,a
Esc::ExitApp
124
Coding Snacks / Re: IDEA: Windows Desktop Refresh Message Eater
« Last post by skrommel on December 03, 2008, 12:17 PM »
 :) Try Freeze!

Press F1 to freeze/unfreeze the active window (stop it redrawing).

Skrommel


;Freeze.ahk
; Press F1 to freeze/unfreeze the active window (stop it redrawing)
;Skrommel @ 2008

#SingleInstance,Force
OnExit,EXIT
DetectHiddenWindows, on

F1::
If locked<>1
  Gosub,LOCK
Else
  Gosub,UNLOCK
Return


LOCK:
winid:=WinExist("A")
SendMessage,0xB,0,0,,ahk_id %winid%
locked=1
Return

UNLOCK:
SendMessage,0xB,1,0,,ahk_id %winid%
locked=0
DllCall("RedrawWindow",UInt,0,UInt,0,UInt,0,UInt,0x101)
Return

EXIT:
Gosub,UNLOCK
ExitApp
125
Post New Requests Here / Re: Idea: Microsoft Default Windows Management
« Last post by skrommel on November 14, 2008, 08:19 PM »
 :) Try ArraWin!

Press Ctrl+Shift+1 through 3 to cascade or arrange windows vertically and horizontally

Skrommel

;ArraWin.ahk
; Press Ctrl+Shift+1 through 3 to cascade or arrange windows vertically and horizontally
;Skrommel @ 2008

;Stolen from SKAN at http://www.autohotkey.com/forum/viewtopic.php?p=84807#84807
^+1::DllCall("CascadeWindows",uInt,0,Int,4,Int,0,Int,0,Int,0) ;Cascade windows
^+2::DllCall("TileWindows",uInt,0,Int,0,Int,0,Int,0,Int,0)    ;Tile windows vertically
^+3::DllCall("TileWindows",uInt,0,Int,1,Int,0,Int,0,Int,0)    ;Tile windows horizontally
Pages: prev1 2 3 4 [5] 6 7 8 9 10 ... 38next