Das ist eigentlich relativ einfach. Benutze ShellExecuteEx mit runas und starte deine eigene Exe mit einem entsprechenden Parameter nochmal. Diese zweite Instanz schaut nach dem Parameter und wenn der gesetzt ist, setzt sie nur die Registryeinstellungen und beendet sich wieder.
Einen laufenden Prozess kann man aus Sicherheitsgründen nicht nachträglich mit Adminrechten ausstatten. Die bekommt man beim Start oder nicht.