Trotz alledem würde es mich interessieren, ob ich z.B. mit einer
DLL oder irgendwie anders auch mal eine Funktion mit Adminrechten ausführen kann und wie das ginge.
Wenn der notwendige
COM Server von deinem Setup vorher registriert wird, geht das, ja. Aber einfach ist das nicht.
Ich mache das daher wie schon genannt wurde einfach mit der eigenen Exe und passenden Parametern...
Wenn du die mit ShellExecute und runas als Verb startest, bist du schon fast fertig. Ein Befehl also. Und in deiner Projektdatei musst du nun nur noch schauen, ob die Exe mit diesem speziellen Parameter aufgerufen wurde und dann deinen Admincode ausführen.
Dann brauchst du gar keine zweite Datei, weder Exe noch
DLL.