topbanner_forum
  *

avatar image

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

Login with username, password and session length
  • Monday November 10, 2025, 2:22 pm
  • 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 ... 5 6 7 8 9 [10] 11 12 13 14 15 ... 38next
226
 :) Have you tried WinWarden?

Skrommel
227
Post New Requests Here / Re: ahk script to open tabs by hovering
« Last post by skrommel on February 20, 2008, 07:01 PM »
 :) Have you tried MouseActivate?

Skrommel
228
Finished Programs / Re: ALT-TAB edge of the screen (new)
« Last post by skrommel on February 20, 2008, 05:55 PM »
 :) The first version I made, before reading the request properly, again, actually changed programs as they were layed out on the Taskbar. Much harder to do, maybe not so useful.

Skrommel
229
Post New Requests Here / Re: IDEA: Batch read nfo files in RAR archives
« Last post by skrommel on February 16, 2008, 02:58 AM »
 :tellme: It skips encrypted RARs. Probably not the problem?

Skrommel
230
Post New Requests Here / Re: Idea : Print Notification
« Last post by skrommel on February 12, 2008, 03:49 PM »
 :) Try PrintSound!

It plays a sound and displays a traytip when something is printed.
I've set a delay of 10 seconds between prints to prevent multiple alarms for the same print.
Maybe larger jobs require a larger delay.

Skrommel


;PrintSound.ahk
; Plays a sound and displays a traytip when something is printed
;Skrommel @ 2008


delay=10

;Code stolen from SKAN at http://www.autohotkey.com/forum/topic22862.html

#SingleInstance,Force
#Persistent
SetBatchLines,-1
Process,Priority,,High
OnExit,ShutApp

WatchFolder  := A_WinDir "\system32\spool\printers\"
WatchSubDirs := "0"

EventString := "New File,Deleted,Modified,Renamed From,Renamed To"
StringSplit, EventArray, EventString, `,

DllCall("shlwapi\PathAddBackslashA", UInt, &Watchfolder)

CBA_ReadDir := RegisterCallback("ReadDirectoryChanges")

SizeOf_FNI := ( 64KB := 1024 * 64 )
VarSetCapacity( FILE_NOTIFY_INFORMATION, SizeOf_FNI, 0 )
PointerFNI := &FILE_NOTIFY_INFORMATION

hDir := DllCall( "CreateFile", Str  , WatchFolder, UInt, "1", UInt , "7", UInt, 0, UInt, "3", UInt, "1107296256", UInt , 0 )

Loop
{
   nReadLen  := 0
   hThreadId := 0

   hThread   := DllCall( "CreateThread", UInt, 0, UInt, 0, UInt, CBA_ReadDir, UInt, 0, UInt,0, UIntP,hThreadId )
   Loop
   {
      If nReadLen
      {
        PointerFNI := &FILE_NOTIFY_INFORMATION

        Loop
        {
          NextEntry   := NumGet( PointerFNI + 0  )
          Action      := NumGet( PointerFNI + 4  )
          FileNameLen := NumGet( PointerFNI + 8  )
          FileNamePtr :=       ( PointerFNI + 12 )

          Event := EventArray%Action%     

          VarSetCapacity( FileNameANSI, FileNameLen )
          DllCall( "WideCharToMultiByte", UInt,0, UInt,0, UInt,FileNamePtr, UInt, FileNameLen,  Str, FileNameANSI, UInt,FileNameLen, UInt,0, UInt,0 )

          File := WatchFolder . SubStr( FileNameANSI, 1, FileNameLen/2 )

          If Event=New File
          {
            FileGetTime,created,%File%,C
            If (created>prevcreated+delay)
            {
              SoundPlay,*64
              TrayTip,PrintSound,Printing...
              prevcreated:=created
            }
          }

          If !NextEntry
            Break
          Else
            PointerFNI += NextEntry
        }
        Break
      }
      Sleep 1000
   }
   DllCall( "TerminateThread", UInt,hThread, UInt,0 )
   DllCall( "CloseHandle", UInt,hThread )
}
Return

ReadDirectoryChanges()
{
   Global hDir,PointerFNI, Sizeof_FNI, WatchSubdirs, nReadlen
   Return DllCall( "ReadDirectoryChangesW", UInt, hDir, UInt, PointerFNI, UInt, SizeOf_FNI, UInt, WatchSubDirs, UInt, "375", UIntP, nReadLen, UInt, 0, UInt, 0 )
}

ShutApp:
DllCall( "CloseHandle", UInt,hDir )
DllCall( "TerminateThread", UInt,hThread, UInt,0 )
DllCall( "CloseHandle", UInt,hThread )
ExitApp
231
 :) Try the changed version of ShortcutFolder above!

Skrommel
232
Post New Requests Here / Re: 'Used fonts' tool
« Last post by skrommel on February 11, 2008, 04:06 PM »
 :) Try OfficeFonts!

It searches a folder and it's subfolders for DOC, XLS and PPT-files and finds the used fonts.
It's just a binary file searcher, so if it finds too few fonts or spits out too much garbage,
change the line If trash>531   ; > more garbage < less fonts.

Skrommel

;OfficeFonts.ahk
; Show what fonts Office document files use
;Skrommel @2006

#NoEnv
SetBatchLines,-1

If 1=
{
  FileSelectFolder,folder,3,, OfficeFonts - 1 Hour Software - www.1HourSoftware.com
  If folder=
  {
    MsgBox,0,OfficeFonts - 1 Hour Software - www.1HourSoftware.com, No folder selected
    Return
  }
}
Else
  folder=%1%

TrayTip,OfficeFonts,Finding used fonts...
allfonts=
Loop,%folder%\*.*,0,1
{
  If A_LoopFileExt Not In doc,xls,ppt
    Continue
  BinRead(A_LoopFileLongPath,data) ; By Laszlo at http://www.autohotkey.com/forum/topic4546.html
  allfonts.=data
}

fonts=`n
Loop,Parse,allfonts,`n
{
  IfNotInString,fonts,`n%A_LoopField%`n
    fonts=%fonts%%A_LoopField%`n
}
StringTrimLeft,fonts,fonts,1

Sort,fonts

MsgBox,0,OfficeFonts - 1 Hour Software,%fonts%`nhttp://www.1HourSoftware.com
ExitApp


BinRead(file, ByRef data, n=0, offset=0) ; Originally by Laszlo at http://www.autohotkey.com/forum/topic4546.html
{
   h := DllCall("CreateFile","Str",file,"Uint",0x80000000,"Uint",3,"UInt",0,"UInt",3,"Uint",0,"UInt",0)
   IfEqual h,-1, SetEnv, ErrorLevel, -1
   IfNotEqual ErrorLevel,0,Return,0 ; couldn't open the file

   m = 0                            ; seek to offset
   IfLess offset,0, SetEnv,m,2
   r := DllCall("SetFilePointerEx","Uint",h,"Int64",offset,"UInt *",p,"Int",m)
   IfEqual r,0, SetEnv, ErrorLevel, -3
   IfNotEqual ErrorLevel,0, {
      t = %ErrorLevel%              ; save ErrorLevel to be returned
      DllCall("CloseHandle", "Uint", h)
      ErrorLevel = %t%              ; return seek error
      Return 0
   }

   TotalRead = 0
   data =
   IfEqual n,0, SetEnv n,0xffffffff ; almost infinite

   format = %A_FormatInteger%       ; save original integer format
   SetFormat Integer, Hex           ; for converting bytes to hex

   word=
   found=0
   trash=0
   Loop %n%
   {
      oldc:=c
      result := DllCall("ReadFile","UInt",h,"UChar *",c,"UInt",1,"UInt *",Read,"UInt",0)
      If (!result or Read<1 or ErrorLevel)
         Break
      TotalRead += Read

      If (c=0)
      If ((oldc>=65 And oldc<=90) Or (oldc>=97 And oldc<=122) Or oldc=32)
        word.=Chr(oldc)
      Else
      {
        If found=0
        {
          If word Contains Times New Roman,Arial
          {
            found=1
            trash=0
            data=
          }
        }
        If (StrLen(word)>2)
          data.=word "`n"
        word=
        trash+=1
      }
      If found=1
      If trash>531   ; > more garbage < less fonts
        Break
   }

   IfNotEqual,ErrorLevel,0 , SetEnv,t,%ErrorLevel%

   h := DllCall("CloseHandle", "Uint", h)
   IfEqual h,-1, SetEnv, ErrorLevel, -2
   IfNotEqual t,,SetEnv, ErrorLevel, %t%

   SetFormat Integer, %format%      ; restore original format
   Totalread += 0                   ; convert to original format
   Return TotalRead
}
233
Post New Requests Here / Re: Idea : change dates in quicken
« Last post by skrommel on February 11, 2008, 10:23 AM »
 :) Another soul saved from the hells of repetition!

I don't know Quicken, but put generally the script should look like this:

The commands to use: WinWait, WinActivate, WinWaitActive, Send, Loop, Break, Goto.

Startup: Set up the program, load the files, go to the right place.
Looping: Use Loop to repeat the core actions. When you reach the end, there's got to be some detectable change, like a changing titlebar or statusbar, the data fileld is empty, or something, and then you use Break to quit the loop. Goto does the same thing.
Ending: Clean up.

There's no ends to what can be done with AutoHotkey.

I once transferred a customer's old DOS-based database to a new Windows based one by copying and pasting field by field, saving him (or me) weeks of work! It only people knew...

Skrommel
234
Post New Requests Here / Re: Idea : change dates in quicken
« Last post by skrommel on February 11, 2008, 01:54 AM »
 :) If you can get it done by keyboard, AutoHotkey can do it for you.

Have a look at the Send command in the documentation at http://www.autohotkey.com.

Skrommel
235
Post New Requests Here / Re: IDEA: A Desktop Hotspot to other location program
« Last post by skrommel on February 10, 2008, 05:15 PM »
 :) Here's DropOff!

Moves dropped files to a user defined folder.

Just place the script on the desktop, edit the target line in the code.
Now your can drop files on it, and they are moved to target.
You can of course have more than one script there, pointing to different folders.

It can easily be enhanced to overwrite or rename existing files, add a proper hotspot or whatever.

Skrommel @ 2008 

;DropOff.ahk
; Moves dropped files to a user defined folder.
;Skrommel @ 2008

target=C:\Temp\1

#NoEnv
#SingleInstance,Off
SendMode,Input
SetWorkingDir,%A_ScriptDir%
SetBatchLines,-1

FileCreateDir,%target%
Loop,%0%
{
  source:=%A_Index%
  TrayTip,DropOff,Moving %source% to %target%
  FileMove,%source%,%target%
}
236
Post New Requests Here / Re: IDEA: Resident random filename generator
« Last post by skrommel on February 10, 2008, 04:23 PM »
 :) Try Now!
Press F1 to sends the current date and time to the active window.

Skrommel

;Now.ahk
; Press F1 to send the current date and time to the active window.
;Skrommel @ 2008


#NoEnv
#Persistent
SendMode,Input
SetKeyDelay,0

F1::
Send,%A_Now%
Return
237
Post New Requests Here / Re: IDEA: toolbar with spec character links
« Last post by skrommel on February 10, 2008, 04:02 PM »
 :) Try CharsBar!

Add your own characters to a docked, autohiding toolbar.
Change the settings in the top of the script.

Skrommel

;CharsBar.ahk
; Add your own characters to a docked, autohiding toolbar
;Skrommel @ 2008


chars=abcdefghijklmnopqrstuvwxyzæøåß|ðÞ™
font=Arial
weight=1000
color=000000  ;RRGGBB
size=12
buttonw=20
buttonh=20
xspace=0
yspace=0
dock=top      ; top left right bottom


#NoEnv
#SingleInstance,Force
SetBatchLines,-1
SetWinDelay,0
SetControlDelay,0
SendMode,Input
SetWorkingDir,%A_ScriptDir%
CoordMode,Mouse,Screen

Gui,+LastFound
guiid:=WinExist()

DllCall( "RegisterShellHookWindow", UInt,guiid )
MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )
OnMessage( MsgNum, "ShellMessage" )

building=1
Gui,+AlwaysOnTop +ToolWindow -Resize -Border -Caption
Gui,Margin,0,0
Gui,Font,S%size% W%weight% C%color%,%font%
Loop,% StrLen(chars)
{
  char:=SubStr(chars,A_Index,1)
  ascii:=Asc(char)
  Gui,Add,Button,% "GCLICK W" buttonw " H" buttonh,% char
}
Gui,Show
building=0
Gosub,BUILD
SetTimer,MOUSE,100
SetTimer,HIDE,3000
Return


ShellMessage( wParam,lParam )
{
  Global activeid
  Global guiid
 
  If ( wParam = 4 ) ;  HSHELL_WINDOWACTIVATED=4 ;HSHELL_WINDOWCREATED=1
  {
    If (lParam<>guiid And lParam<>0)
    {
      activeid:=lParam
    }
  }
}


MOUSE:
MouseGetPos,mx,my,mid,mctrl

IfWinExist,ahk_id %guiid%
  WinGetPos,guix,guiy,guiw,guih,ahk_id %guiid%
If (mx>=guix And mx<=guix+guiw And my>=guiy And my<=guiy+guih)
{
  If hiding=1
    SetTimer,HIDE,Off
  hiding=0
}
Else
{
  If hiding=0
    SetTimer,HIDE,1000
  hiding=1
}
If ((my<=monitorTop And dock="top") Or (my>=monitorBottom-1 And dock="bottom") Or (mx<=monitorLeft And dock="left") Or (mx>=monitorRight+1 And dock="right"))
{
  SetTimer,HIDE,Off
  WinShow,ahk_id %guiid%
  hiding=0
}
Return


HIDE:
SetTimer,HIDE,Off
WinHide,ahk_id %guiid%
Return


CLICK:
If A_GuiEvent In Normal,DoubleClick
{
  WinActivate,ahk_id %activeid%
  Send,%A_GuiControl%

;  ControlSendRaw,,%A_GuiControl%,ahk_id %activeid%
}
Return


GuiSize:
If building=1
  Return
If ErrorLevel=1  ;minimized
  Return
Gosub,BUILD
Return


BUILD:
building=1

Sysget,primary,MonitorPrimary
Sysget,monitor,MonitorWorkArea,%primary%

If dock=top
  WinMove,ahk_id %guiid%,,% monitorLeft,% monitorTop,% monitorRight-monitorLeft,% buttonh+yspace
If dock=bottom
  WinMove,ahk_id %guiid%,,% monitorLeft,% monitorBottom-buttonh-yspace,% monitorRight-monitorLeft,% buttonh+yspace ;%
If dock=left
  WinMove,ahk_id %guiid%,,% monitorLeft,% monitorTop,% buttonw+xspace,% monitorBottom-monitorTop
If dock=right
  WinMove,ahk_id %guiid%,,% monitorRight-buttonw-xspace,% monitorTop,% buttonw+xspace,% monitorBottom-monitorTop

WinGet,controls,ControlList
x:=xspace
y:=yspace
Loop,Parse,controls,`n
{
  GuiControl,MoveDraw,%A_LoopField%,X%x% Y%y%
  x:=x+buttonw+xspace-1
  If (x>A_GuiWidth-buttonw-xspace)
  {
    x:=xspace
    y:=y+buttonh+yspace-1
  }
}
building=0
Return
238
 :tellme: I don't get this.

I'd like a utility that will allow me to select one or more folders' worth of data on the external, then select a similar volume of data on the fixed HD, and will then basically cycle each of the selections to the opposite drive.

Is it file syncing, or do you mean something else?

Skrommel
239
 :) And I believe you can use my tool ShortCutter

Skrommel

240
 :) Try ShortcutFolder!

Creates and collects shortcuts to programs in a folder named Shortcuts.

2008.2.11: Added depth limit, and only makes a shortcut to the first exe in every folder.
Skrommel

;ShortcutFolder.ahk
; Creates and collects shortcuts to programs in a folder
;Skrommel @ 2008

depth=2

#SingleInstance,Ignore
#NoEnv
SetBatchLines,-1

If 0=0
{
  FileSelectFolder,start,,3,Select a folder to search for programs
  If start=
  {
    MsgBox,0,TheDIZs,You didn't select a folder.
    ExitApp
  }
}   
Else
  start=%1%

StringSplit,startdepth,start,\

FileCreateDir,%A_WorkingDir%\Shortcuts

TrayTip,%ShortcutFolder%,Searching %start%...
Loop,%start%\*.exe,0,1
{
  olddir:=dir
  dir:=A_LoopFileDir
  StringSplit,dirdepth,dir,\
  If (dir<>olddir And dirdepth0-startdepth0<=depth)
  {
    SplitPath,A_LoopFileLongPath,name,dir,ext,name_no_ext,drive
    FileCreateShortcut,%A_LoopFileLongPath%,%A_WorkingDir%\Shortcuts\%name_no_ext%.lnk,,,,%A_LoopFileLongPath%,,1,
  }
}
TrayTip,%ShortcutFolder%,Shortcuts stored in %start%
Sleep,3000
241
Post New Requests Here / Re: IDEA: Portable Registry Tool(s)
« Last post by skrommel on February 10, 2008, 08:03 AM »
 :) How about RegReplace at http://www.delphi32.com/vcl/4080 ?

Skrommel
242
Post New Requests Here / Re: IDEA: Batch read nfo files in RAR archives
« Last post by skrommel on February 10, 2008, 07:10 AM »
 :) Try TheDIZs!

Extracts DIZ- and NFO-files from RAR-files.
Place UnRar.exe from www.winrar.com in the same folder as TheDIZs.

You can run it to have it ask for a root folder, or add a folder to the command line.

Skrommel

;TheDIZs.ahk
; Extracts DIZ- and NFO-files from RAR-files.
; Place UnRar.exe from www.winrar.com in the same folder as TheDIZs
;Skrommel @ 2008

#SingleInstance,Ignore
#NoEnv
SetBatchLines,-1

If 0=0
{
  FileSelectFolder,start,,3,Select a folder to search for RAR files
  If start=
  {
    MsgBox,0,TheDIZs,You didn't select a folder.
    ExitApp
  }
}   
Else
  start=%1%

crlf:=Chr(13) . Chr(10)
folder:=A_Now
FileDelete,TheDIZs.txt
FileAppend,Scan started %A_Now%%crlf%,TheDIZs.txt

Loop,%start%\*.rar,0,1
{
  FileCreateDir,%A_Temp%\%folder%\
  archive:=A_LoopFileLongPath
  TrayTip,TheDIZs,Scanning %archive%
  RunWait,unrar e -n*.diz -p- %archive% %A_Temp%\%folder%\,,Hide
  RunWait,unrar e -n*.nfo -p- %archive% %A_Temp%\%folder%\,,Hide
  Loop,%A_Temp%\%folder%\*.*
  {
    diz:=A_LoopFileLongPath
    FileRead,content,%diz%
    FileAppend,-----------%crlf%%archive%%crlf%-----------%crlf%%content%%crlf%%crlf%%crlf%,TheDIZs.txt
    FileDelete,%diz%
  }
}

FileRemoveDir,%A_Temp%\%folder%\
FileAppend,Scan stopped %A_Now%%crlf%,TheDIZs.txt
Run,TheDIZs.txt
243
Post New Requests Here / Re: Write on Windows Desktop
« Last post by skrommel on February 10, 2008, 05:45 AM »
 :) Until someone comes up with a better solution.

SubNote is a very simple notepad attached to the desktop.
It autosaves to SubNote.ini every 10 secs, and remembers it's onscreen position.

Skrommel

;SubNote.ahk
; Very simple notepad attached to the desktop.
; Autosaves every 10 secs, remembers window position.
;Skrommel @ 2008

#SingleInstance,Ignore
#NoEnv
SetWinDelay,0

applicationname=SubNote

lf:=Chr(10)

IniRead,tab,%applicationname%.ini,Settings,tab
If tab=ERROR
{
  tab=4
  IniWrite,%tab%,%applicationname%.ini,Settings,tab
}

Gui,+Resize +Border +ToolWindow
Gui,Margin,0,0
Gui,Add,Edit,Vedit R15 T%tab% WantTab
Gui,Show,,%applicationname%
Gui,+LastFound
guiid:=WinExist()
WinGet,progmanid,ID,Program Manager ahk_class Progman
DllCall("SetParent","uint",guiid,"uint",progmanid)

IniRead,x,%applicationname%.ini,Settings,x
IniRead,y,%applicationname%.ini,Settings,y
IniRead,w,%applicationname%.ini,Settings,w
IniRead,h,%applicationname%.ini,Settings,h
If (x="ERROR" Or y="ERROR" Or w="ERROR" Or h="ERROR")
  WinGetPos,x,y,w,h,ahk_id %guiid%

menu:=DllCall("user32\GetSystemMenu","UInt",guiid,"UInt",0)
DllCall("user32\DeleteMenu","UInt",menu,"UInt",0xF060,"UInt",0x0)
WinMove,ahk_id %guiid%,,% x,% y,% w,% h-1
WinMove,ahk_id %guiid%,,% x,% y,% w,% h+1

IniRead,text,%applicationname%.ini,Text,Text
If text=ERROR
  text=
(
`n`t`t%applicationname%`n`t`t`t`tby`n1HourSoftware.com`n
%applicationname% is a very simple notepad attached to the desktop.
`tIt autosaves to %applicationname%.ini every 10 secs, and remembers it's onscreen position.
)
StringReplace,text,text,<<LF>>,%lf%,All
GuiControl,,edit,%text%

Menu,Tray,NoStandard
Menu,Tray,DeleteAll
Menu,Tray,Add,%applicationname%,NOTHING
Menu,Tray,Add,E&xit,EXIT
Menu,Tray,Default,%applicationname%
Menu,Tray,Tip,%applicationname%

SetTimer,SAVE,10000
OnExit,EXIT
Return


NOTHING:
Return


SAVE:
oldtext:=text
GuiControlGet,text,,edit
If (text<>oldtext)
{
  save:=text
  StringReplace,save,save,%lf%,,All
  IniWrite,%save%,%applicationname%.ini,Text,Text
}
Else
  text:=oldtext
Return


EXIT:
SetTimer,SAVE,Off
GuiControlGet,save,,edit
StringReplace,save,save,%lf%,<<LF>>,All
IniWrite,%save%,%applicationname%.ini,Text,Text
WinGetPos,x,y,w,h,ahk_id %guiid%
IniWrite,%x%,%applicationname%.ini,Settings,x
IniWrite,%y%,%applicationname%.ini,Settings,y
IniWrite,%w%,%applicationname%.ini,Settings,w
IniWrite,%h%,%applicationname%.ini,Settings,h
ExitApp


GuiSize:
If ErrorLevel = 1  ;minimized
  Return
GuiControl,Move,edit,W%A_GuiWidth% H%A_GuiHeight%
Return
244
 :) I needed this tool, too, so if you haven't found a solution yet, here's CloseKill.

Kills programs on system shutdown.
Example: CloseKill.exe calc.exe,notepad.exe

Skrommel

;CloseKill.ahk
; Kills programs on system shutdown.`n
; Example: CloseKill.exe calc.exe,notepad.exe
;Skrommel @ 2008


#SingleInstance,Force
#Persistent

If 0=0
{
  MsgBox,0,CloseKill by www.1HourSoftware.com,
(
Kills programs on system shutdown`n
Example: CloseKill.exe calc.exe,notepad.exe
)
  ExitApp
}

Loop,%0%
{
  programs.=%A_Index%
  TrayTip,CloseKill,Waiting to kill`n%programs%
}

DllCall("kernel32.dll\SetProcessShutdownParameters", UInt, 0x4FF, UInt, 0)
OnMessage(0x11, "WM_QUERYENDSESSION")
Return


WM_QUERYENDSESSION(wParam, lParam)
{
  Global programs

  Loop,Parse,programs,`,
  {
    TrayTip,CloseKill,Killing %A_LoopField%
    Process,Close,%A_LoopField%
    Sleep,1000
  }
  ExitApp
}
245
Finished Programs / Re: ALT-TAB edge of the screen (new)
« Last post by skrommel on February 09, 2008, 03:32 PM »
 :) Here's AltEdge.

AltEdge - Sends Alt-Tab when the mouse is on the left edge of the screen.

Features:
- Keep it there to tab through the other windows.
- Rightclick the tray menu to change screen edge.

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

Skrommel
246
Post New Requests Here / Re: KeyStroke Activated Timer
« Last post by skrommel on February 08, 2008, 05:44 PM »
 :) Here's something to get you started!

TwelveTimers shows a small status window in the bottom left of your screen, just press F1 through F12 to start and stop timers.

To use it, download and install AutoHotkey from http://www.autohotkey.com. Copy the script into Notepad, save it as TwelveTimers.ahk, and doubleclick the saved file.

Skrommel


;TwelveTimers.ahk
; Press F1-F12 to start and stop timers.
;Skrommel @ 2008

#NoEnv
#SingleInstance,Force
SetBatchLines,-1
CoordMode,ToolTip,Screen

total:=0
Loop,12
{
  timer%A_Index%:=0
  total%A_Index%:=0
  Hotkey,F%A_Index%,HOTKEY
}
SetTimer,RUNNING,100
Return


HOTKEY:
StringTrimLeft,hotkey,A_ThisHotkey,1
If (running%hotkey%<>"")
{
  total%hotkey%:=total%hotkey%+(A_TickCount-start%hotkey%)/1000
  running%hotkey%:=""
  Return
}
start%hotkey%:=A_TickCount
running%hotkey%:="+ "
Return


RUNNING:
total:=0
status:="KEY`t`%`tTIME`n"
Loop,12
{
  If (running%A_Index%<>"")
    timer%A_Index%:=total%A_Index%+(A_TickCount-start%A_Index%)/1000
  total:=total+timer%A_Index%
}
Loop,12
  status:=status . running%A_Index% "F" A_Index "`t" Round(timer%A_Index%/total*100,0) "%`t" Round(timer%A_Index%,1) "s`n"
ToolTip,% status "TOTAL`t100%`t" Round(total,1) "s",0,% A_ScreenHeight
Return
247
 :) Thanks, app103, your site looks very useful. But do you really have to transfer it manually?

Skrommel
248
Post New Requests Here / Re: IDEA:start program in low priority
« Last post by skrommel on June 20, 2007, 04:48 PM »
 :) Try this script!

Save it as LowShortcut.ahk, and download and install Autohotkey.

Skrommel

;LowShortcut.ahk
; Autocreate low priority shortcuts by dropping files or shortcuts on the icon
; Run it to manually input a window title and a program location
;Skrommel @ 2007

If 0=0
{
  InputBox,linkfile,~Window title Dialog Box~,Please enter a window title:
  InputBox,target,~Program location Dialog Box~,Please enter a program location:
  FileCreateShortcut,%comspec%,%linkfile% - low.lnk,,/c start "%linkfile%" /low "%target%",,%target%,,,
}
Else
Loop,%0%
{
  drop:=%A_Index%
  Loop,%drop%
    longfilename:=A_LoopFileLongPath
  SplitPath,longfilename,filename,dir,ext,namenoext,drive
  If ext<>LNK
    FileCreateShortcut,%comspec%,%namenoext% - low.lnk,,/c start "%filename%" /low "%longfilename%",,%longfilename%,,,
  Else
  {
    FileGetShortcut,%longfilename%,target,dir,args,description,icon,iconnum,runstate
    FileCreateShortcut,%comspec%,%namenoext% - low.lnk,%dir%,/c start "%namenoext%" /low "%target%",%description%,%target%,%icon%,%iconnum%,
  }
}
249
Post New Requests Here / Re: IDEA: Grab contents of an on-screen list
« Last post by skrommel on June 20, 2007, 02:34 PM »
 :) Try this script!

Save it as CopyListView.ahk, and download and install AutoHotkey.

Skrommel

;CopyListView.ahk
; Press F1 over a listview to copy the contents to the clipboard
;Skrommel @ 2007

#SingleInstance,Force
#NoEnv
AutoTrim,Off

columnseparator=%A_Tab%   ; replace with your own separator  tab     = %A_Tab%
rowseparator=`n           ; replace with your own separator  newline = `n

F1::
MouseGetPos,mx,my,mwin,mctrl
ControlGet,list,List,,%mctrl%,ahk_id %mwin%
If columnseparator<>%A_Tab%
  StringReplace,list,list,%A_Tab%,%columnseparator%,All
If rowseparator<>`n
  StringReplace,list,list,`n,%rowseparator%,All
clipboard:=list
TrayTip,CopyListView,%list%
Return
Pages: prev1 ... 5 6 7 8 9 [10] 11 12 13 14 15 ... 38next