Hence i have written a script to register .ahk filetype temporarily with the current drive:folder of AHK, and un-register it after use!
This way i can carry the same AHK program folder that i have on my home machine.
Just copy "register.bat" to the AHK program directory in the USB stick (e.g. g:\portableapps\autohotkey and "Register_AHK.ahk" into the "Extras" folder. (e.g. g:\portableapps\autohotkey\extras)
Code for register.bat:
@echo off start Autohotkey.exe Extras\Register_AHK.ahk @exit
Code for Register_AHK.ahk:
/* Register AHK in portable mode - by Shajul ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Used to register AHK in portable mode */ ;;********** Settings, Variable Declarations ********** #SingleInstance Force #NoEnv #Persistent OnExit, quit programName = Register AHK programVersion = 0.01 programFullName = %programName% v%programVersion% programAuthor = Shajul ;;********** Auto-Execute Section ********** GoSub, trayMenu ; construct tray menu : OPTIONAL SetWorkingDir %A_ScriptDir%\.. ;;********** User Configuration ********** Compiler=%A_WorkingDir%\Compiler\Compile_AHK.exe param = %1%. if param = -u. Goto, unreg reg: RegWrite, REG_SZ, HKCR, .ahk,,AutoHotkeyScript RegWrite, REG_SZ, HKCR, .ahk\ShellNew,FileName,Template.ahk RegWrite, REG_SZ, HKLM, SOFTWARE\Classes\.ahk,,AutoHotkeyScript RegWrite, REG_SZ, HKLM, SOFTWARE\Classes\.ahk\ShellNew,Filename,Template.ahk RegWrite, REG_SZ, HKCR, AutoHotkeyScript,,AutoHotkey Script RegWrite, REG_SZ, HKCR, AutoHotkeyScript\DefaultIcon,,%A_WorkingDir%\AutoHotkey.exe`,1 RegWrite, REG_SZ, HKCR, AutoHotkeyScript\Shell,,Open RegWrite, REG_SZ, HKCR, AutoHotkeyScript\Shell\Compile_AHK,,Compile with Options RegWrite, REG_SZ, HKCR, AutoHotkeyScript\Shell\Compile_AHK\Command,,"%A_WorkingDir%\Compiler\Compile_AHK.exe" "`%l" RegWrite, REG_SZ, HKCR, AutoHotkeyScript\Shell\Open,,Run Script RegWrite, REG_SZ, HKCR, AutoHotkeyScript\Shell\Open\Command,,"%A_WorkingDir%\AutoHotkey.exe" "`%1" `%* RegWrite, REG_SZ, HKLM, SOFTWARE\Classes\AutoHotkeyScript,,AutoHotkey Script RegWrite, REG_SZ, HKLM, SOFTWARE\Classes\AutoHotkeyScript\DefaultIcon,,%A_WorkingDir%\AutoHotkey.exe`,1 RegWrite, REG_SZ, HKLM, SOFTWARE\Classes\AutoHotkeyScript\Shell,,Open RegWrite, REG_SZ, HKLM, SOFTWARE\Classes\AutoHotkeyScript\Shell\Compile_AHK,,Compile with Options RegWrite, REG_SZ, HKLM, SOFTWARE\Classes\AutoHotkeyScript\Shell\Compile_AHK\Command,,"%Compiler%" "`%l" RegWrite, REG_SZ, HKLM, SOFTWARE\Classes\AutoHotkeyScript\Shell\Open,,Run Script RegWrite, REG_SZ, HKLM, SOFTWARE\Classes\AutoHotkeyScript\Shell\Open\Command,,"%A_WorkingDir%\AutoHotkey.exe" "`%1" `%* Return ;;********** Subroutines ********** trayMenu: Menu, Tray, NoStandard IfExist, %A_WorkingDir%\Compiler\Compile_AHK.exe Menu, Tray, Icon, %Compiler% Menu, Tray, Tip, %programFullName% Menu, Tray, Add, &Unregister AHK, unreg Menu, tray, Default, &Unregister AHK Menu, Tray, Add, &About, about Menu, Tray, Add Menu, Tray, Add, &Quit, quit Return unreg: RegDelete, HKCR, .ahk RegDelete, HKLM, SOFTWARE\Classes\.ahk RegDelete, HKCR, AutoHotkeyScript RegDelete, HKLM, SOFTWARE\Classes\AutoHotkeyScript ExitApp return about: MsgBox, 64, %programFullName%, ( LTrim %programFullName% %A_Space%by %programAuthor% Used to register AHK in portable mode ) Return quit: ExitApp Return
I am not sure this has been posted before (search returned nothing similar).. Also it has been tested only on WinXP2
Hope u find it useful!