Yep. But I hope you can understand autoit script because I will not make support for it.
Use this autoit script instead of normal one.
#include <File.au3>
;Parsing
Local $count = StringInStr($CmdLineRaw, ".exe", 0 , 1, 1)
local $app = StringLeft ( $CmdLineRaw, $count + 4 )
local $command = StringTrimLeft( $CmdLineRaw, $count + 4 )
if not $command then exit 0
HotKeySet("{ESC}", "Terminate")
;Special part for pad config
local $folder = @ScriptDir & '\Pad_config\'
local $fichier = $command
$file = StringTrimRight( $fichier, 1 )
$file = StringTrimleft( $fichier, 1 )
Local $szDrive, $szDir, $szFName, $szExt
_PathSplit($file, $szDrive, $szDir, $szFName, $szExt)
Local $patch = IniRead($folder & "config.ini", "PATCH", $szFName, "")
if $patch <> "" Then
if $patch = 'FPS' then
RunWait(@ComSpec & " /c " & 'Regedit /s ' & $folder & 'fps.reg', "", @SW_HIDE)
Elseif $patch = 'PLATEFORM' then
RunWait(@ComSpec & " /c " & 'Regedit /s ' & $folder & 'plateform.reg', "", @SW_HIDE)
Else
RunWait(@ComSpec & " /c " & 'Regedit /s ' & $folder & 'defaut.reg', "", @SW_HIDE)
Endif
Else
RunWait(@ComSpec & " /c " & 'Regedit /s ' & $folder & 'defaut.reg', "", @SW_HIDE)
Endif
$PID = Run ('"' & $app & '" ' & $command)
While ProcessExists ( $PID )
sleep(500)
WEnd
WinActivate("mGalaxy")
Exit 0
;functions
Func Terminate()
While ProcessExists ( $PID )
ProcessClose ( $PID )
WEnd
WinActivate("mGalaxy")
Exit 0
EndFunc
Make a folder called "Pad_config"
inside put a ini file called "config.ini"
[PATCH]
Paper Mario (E) [!]=fps
and all your reg file