1 (изменено: Alectric, 2017-05-05 16:30:34)

Тема: AHK: Удобный метод сохранения\загрузки настроек в реестре

Все что нужно - это указать путь сохранения в реестре и перечислить переменные которые нужно сохранить с указанием значения по умолчанию.

Затем, там где нужно сохранить\загрузить настройки - вызвать нужную метку "SaveSettings\LoadSettings".

Settingspath=SOFTWARE\Unknown_AHK_Script
; full path = HKCU\SOFTWARE\Unknown_AHK_Script

SettingsDefault=
(
a=1
exemple=564 ; Defaut value for save & load
setting2=%a_screenwidth% ; `% = can take variables, not expression
etc=Arrays are not supported
)



; your code
gosub,LoadSettings
msgbox,% "a = " a "`nexemple = " exemple "`nsetting2 = " setting2 "`netc = " etc
exitapp




SaveSettings:
if Settingspath=
  Settingspath=SOFTWARE\Unknown_AHK_Script
if SettingsDefault=
  return
loop,parse,SettingsDefault,`n
{
  Loop,parse,a_loopfield,=
  {
    if a_index=1
    {
      Setting:=a_loopfield
      Break
    }
  }
  RegWrite,REG_SZ,HKCU,%Settingspath%,%Setting%,% %Setting%
}
LoadSettings:
if Settingspath=
  Settingspath=SOFTWARE\Unknown_AHK_Script
if SettingsDefault=
  return
loop,parse,SettingsDefault,`n
{
  Loop,parse,a_loopfield,=
  {
    if a_index=1
      Setting:=a_loopfield
    else if a_index=2
      Default:=a_loopfield
    else
      Default.="=" a_loopfield
  }
  RegRead,%Setting%,HKCU,%Settingspath%,%Setting%
  if errorlevel
  {
    RegWrite,REG_SZ,HKCU,%Settingspath%,%Setting%,%Default%
    RegRead,%Setting%,HKCU,%Settingspath%,%Setting%
  }
}
Return

Решил что кому-нибудь пригодится, а то сам пользуюсь и другие не знают.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.