1.) ShellExecute innerhalb eines Service solltest du ganz schnell vergessen. Wenn du dort ein Programm startest hat dieses Programm keinen Desktop etc. und ist somit niemals sichtbar.
2.) Die Ereignisse sind nicht der Richtige Ort. Denn das Windowsrechtesystem regelt das nur Administratoren Dienste Starten, Stoppen etc. dürfen. Du musst dir also etwas anderes überlegen.
3.) hat sich eigentlich durch zweitens erledigt.
4.) Es gilt - Eine Frage pro Thread damit es übersichtlich bleibt. Zudem kann dann für jede Frage der entsprechend aussagekräftige Titel gewählt werden.
bitte mache für jede Frage einen eigenen Thread auf
Wie du schon bei Punkt 1 siehst, ist das was du vorhast wohl nicht ganz so einfach. Entsprechend werden deine Fragen wohl sehr umfangreich diskutiert und bei mehreren Fragen durcheinander wird das dann irgendwann ein riesen Durcheinander.