Wie meinst du das? Soll ich die Anwendung 2x starten und dann die Möglichkeiten ausschließen?
Richtig. Wenn dein Programm gestartet wird, prüfst du einfach im Projektquelltext, ob du bereits Adminrechte hast. Wenn ja, setzt du einfach den Start fort.
Wenn nein, versuchst du dein eigenes Programm mit Adminrechten zu starten (z.B. mit ShellExecute und 'runas' als Verb). Ist das erfolgreich, beendest du die non-Admin Instanz. Ist es nicht erfolgreich, kannst du mit der non-Admin Instanz weitermachen.
In deinem Fall liest es sich aber so, dass du auch erst einmal ohne Adminrechte arbeiten könntest und diese nur bei Bedarf anfordern könntest, sobald du sie wirklich brauchst.