So come lanciare un processo con privilegi di amministratore da un processo utilizzando:Come si de-elevare i privilegi di un processo figlio
proc.StartInfo.UseShellExecute = true;
proc.StartInfo.Verb = "runas";
dove proc è uno System.Diagnostics.Process. Ma come si fa il contrario?
Se il processo in cui ci si trova è già elevato, come si avvia il nuovo processo senza privilegi di amministratore? Più precisamente, abbiamo bisogno di avviare il nuovo processo con lo stesso livello di autorizzazione di Windows Explorer, quindi nessuna modifica se UAC è disabilitato, ma se UAC è abilitato, ma il nostro processo è in esecuzione elevato, dobbiamo eseguire una determinata operazione senza elevazione perché stiamo creando un disco virtuale e se è stato creato con autorizzazioni elevate e Windows Explorer è in esecuzione non superiore non verrà visualizzato.
Sentiti libero di cambiare il titolo in qualcosa di meglio, non ho potuto trovare una buona descrizione.
stessa domanda: http://stackoverflow.com/questions/196949/how-to-run-not-elevated-in-vista-net La risposta sembra spaventosa h. – weiqure
Non solo è spaventoso, non è corretto. L'elevazione UAC è unidirezionale e non esiste un modo documentato per tornare indietro (effettuare l'iniezione in explorer.exe o utilizzare l'Utilità di pianificazione è un po 'hacky e probabilmente non è una buona idea) – Anders