Archived
1
0
This repository has been archived on 2025-03-31. You can view files and clone it, but cannot push or open issues or pull requests.
U3Helper/U3H_appStart.ahk

69 lines
1.7 KiB
AutoHotkey

; get names in local language for "Application Data", "Local Settings" and "Application Data" below "Local Settings"
RegRead AD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders, AppData
RegRead LS, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders, Local Settings
RegRead LAD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders, Local AppData
If LAD
LAD := AD
StringRight ADc, AD, 1
StringRight LSc, LS, 1
StringRight LADc, LAD, 1
If (ADc = "\")
StringTrimRight AD, AD, 1
If (LSc = "\")
StringTrimRight LS, LS, 1
If (LADc = "\")
StringTrimRight LAD, LAD, 1
SplitLast(null, ADn, AD, "\")
SplitLast(null, LSn, LS, "\")
SplitLast(null, LADn, LAD, "\")
EnvSet USERPROFILE, %U3_APP_DATA_PATH%
; %HOMEPATH% is without drive letter and colon, do it also here
EnvGet eSystemDrive, SystemDrive
StringReplace eHOMEPATH, U3_APP_DATA_PATH, %eSystemDrive%
EnvSet HOMEPATH, %U3_APP_DATA_PATH%
EnvSet HOMEDRIVE, % EnvValue("U3_DEVICE_PATH")
EnvSet APPDATA, % U3_APP_DATA_PATH . "\" . ADn
; add custom PATH directories
EnvGet ePATH, PATH
IniGetKeys("envdir", INIFile, "EnvPath")
Loop %envdir0%
{
CurPath := envdir%A_Index%
CurPath := EnvParseStr(CurPath)
ePATH := CurPath . ";" . ePATH
}
EnvSet PATH, %ePATH%
EnvGet APPDATA, APPDATA
IfNotExist %APPDATA%
{
FileCreateDir %APPDATA%
}
IfNotExist %U3_APP_DATA_PATH%\%LSn%\%LADn%
{
FileCreateDir %U3_APP_DATA_PATH%\%LSn%\%LADn%
}
SetWorkingDir %U3_HOST_EXEC_PATH%
cmdl := AppExe
Loop %0%
{
If (A_Index > 1)
{
cmdl := cmdl . " " . %A_Index%
}
}
OnExit ASOnExit
RunWait %cmdl%
OnExit