aus erster hand weiß ich, dass es bei dem von dir aufgeführten Programm wie folgt gemacht wird:
IniFile.WriteString('boot', 'shell', 'YourExeFile');
WindowsXP kümmert sich dann selbst darum und mappt es in die Registry.
Wobei IniFile ein TIniFile ist welches die Datei "System.ini" aus dem Windowsordner öffnet.
Delphi-Quellcode:
var LBuffer, LStr: String;
begin
SetLength(LBuffer, MAX_PATH + 1);
SetLength(LBuffer, GetWindowsDirectory(@LBuffer[1], Length(LBuffer)));
LBuffer := IncludeTrailingPathDelimiter(LBuffer);
if FileExists(LBuffer + 'System.ini') then
IniFile := TIniFile.Create(LBuffer + 'System.ini');