If the hotkeys are changed the changes are only applied the next time the script runs. If the RegisterHotKeys function was changed as below then the new hot key settings would be applied straight away. (Not tested)
Func RegisterHotkeys()
;first unregister the key
HotKeySet($hk_hide)
HotKeySet($hk_show)
HotKeySet($hk_interface)
HotKeySet($hk_lock)
;save the new settings To Ini file
If Not BitAND(GUICtrlRead($c_combo1), 0) Then
$hk_hide = GUICtrlRead($c_combo1)
$hk_show = GUICtrlRead($c_combo2)
$hk_interface = GUICtrlRead($c_combo3)
$hk_lock = GUICtrlRead($c_combo4)
IniWrite($confini, "main", "hide", $hk_hide)
IniWrite($confini, "main", "show", $hk_show)
IniWrite($confini, "main", "interface", $hk_interface)
IniWrite($confini, "main", "lock", $hk_lock)
WinSetOnTop("WaT - 'Without A Trace'", "", 0)
MsgBox(0, "WaT - 'Without A Trace'", "Hotkeys are set now")
WinSetOnTop("WaT - 'Without A Trace'", "", 1)
EndIf
;now read the settings again
HotKeySet($hk_hide, "hide")
HotKeySet($hk_show, "unhide")
HotKeySet($hk_interface, "gui")
HotKeySet($hk_lock, "lockout")
EndFunc ;==>RegisterHotkeys