Wie kann ich die UAC-Eingabeaufforderung zum Speichern von Dateien an einem eingeschränkten Speicherort mit c # anzeigen?

Wenn ein Benutzer eine Datei aus meiner Anwendung speichert, kann er sie derzeit nicht an einem eingeschränkten Speicherort (wie C :) speichern. Ich halte dies für eine gute Einschränkung, möchte jedoch eine UAC-Eingabeaufforderung bereitstellen, um die Berechtigungen zu erhöhen und einem Benutzer das Speichern in einem eingeschränkten Bereich zu ermöglichen.

Ich habe viele Antworten zu diesem Thema gesehen, bei denen ein neuer Prozess mit erhöhten Rechten mithilfe von "Runas" erstellt wurde. Anscheinend kann dies auch durch den Identitätswechsel eines anderen Benutzers geschehen. Soweit ich weiß, müssen für beide Methoden Benutzeranmeldeinformationen angegeben werden.

Was ich tun möchte, ist im Grunde, was Windows selbst tut. Wenn Sie versuchen, eine Datei in Windows 7 nach C: \ zu kopieren (vorausgesetzt, Sie haben die Benutzerkontensteuerung auf die Standardebene eingestellt), wird die folgende Eingabeaufforderung angezeigt:

Sobald Sie mit dem UAC-Schutzschild auf die Schaltfläche Weiter klicken, wird die Datei ohne Aufforderung zur Eingabe von Anmeldeinformationen nach C: \ kopiert (vorausgesetzt, Sie sind mit Administratorrechten angemeldet).

Wie kann ich dieses Verhalten in meiner Anwendung für Administratorbenutzer replizieren? Sie sollten sich nicht als andere Benutzer ausgeben müssen, da sie bereits über Administratorrechte verfügen. Kann jemand Details darüber bereitstellen, was Windows während dieses Vorgangs tut? Starten sie einen neuen explorer.exe-Prozess mit erhöhten Rechten?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage