Quando un processo è in esecuzione a livello di integrità basso, non è possibile scrivere su% temp% quindi ho bisogno di un modo per trovare il percorso il% temp% \ basso directory (Senza hardcoding la parola "Low")Come ottenere l'ubicazione di% temp% Low quando si esegue come processo intergrity basso
risposta
Secondo MSDN
"processi a bassa integrità possono scrivere e creare sottocartelle PROFILO% USER% \ AppData \ LocalLow"
Non penso che ci sia un modo per evitare di codificare le ultime due cartelle.
Secondo MSDN
In modalità protetta, le estensioni possono scrivere i file in una cartella sotto la cartella UserProfile dell'utente , tipicamente % userprofile% \ AppData \ LocalLow. Utilizzare la funzione SHGetKnownFolderPath con il flag FOLDERID_LocalAppDataLow su ottenere il nome della cartella espansa.
SHGetKnownFolderPath(FOLDERID_LocalAppDataLow, 0,
NULL, szPath, ARRAYSIZE(szPath));
La "Finding Low Integrity Write Locations" section dell ' "Intesa e lavorare in modalità protetta di Internet Explorer" articolo include i seguenti bocconcino:
Nota modalità protetta modifica le variabili di ambiente di IE. Di conseguenza, la funzione GetTempPath() restituisce% Temp% \ Low quando viene chiamato mentre la modalità protetta è attiva.
Credo che questa sia solo una cosa di IE ... – Anders
Se si sta cercando una directory temporanea in cui scrivere, è possibile scorrere le directory all'interno della directory %temp%
e provare a scrivere su ciascuna.
Se UAC è disabilitato, .
dovrebbe essere il primo. In caso contrario, .\Low
dovrebbe essere l'unico.
È interessante, forse il sistema operativo si prende cura di darti il percorso Temp \ Low nella variabile% temp% environmnt, quindi GetTempPath() restituisce il percorso corretto? Non l'ho provato Tuttavia, questo * non * è correlato direttamente al controllo dell'account utente. Il controllo dell'account utente impedisce di eseguire sempre con un token ad alta integrità. Tuttavia, anche quando UAC è disattivato, è possibile creare processi con bassa integrità. – Danra
- 1. UnicodeEncodeError solo quando si esegue come un processo di cron
- 2. Come si esegue il fork di un processo go?
- 3. Come si esegue exec() un processo in background in C?
- 4. Come verificare la versione di java quando si esegue gradle?
- 5. Come faccio a ottenere java per uscire quando si esegue il pipe to head
- 6. Accesso all'unità mappata quando si esegue come utente
- 7. Come si crea una finestra popup quando si esegue oauth?
- 8. Come eseguire il debug di PhantomJS quando si esegue Karma
- 9. Come ottenere i dati di copertura da un'applicazione django quando si esegue in gunicorn
- 10. Come posso ottenere un'interruzione di linea fluida sui browser mobili anche quando si esegue lo zoom?
- 11. Come ottenere la stampa di Rails.logger sulla console/stdout quando si esegue rspec?
- 12. Qt - Come ottenere la dir "Temp" per un utente arbitrario?
- 13. Come si scorre un RichTextBox in basso?
- 14. Come si elimina la nuova riga da un'uscita di processo?
- 15. Come ottenere la coordinata y in basso
- 16. Come configurare la registrazione quando si esegue un JAR?
- 17. Come scegliere il dispositivo quando si esegue un eseguibile CUDA?
- 18. risultato strano quando si esegue un programma come una radice
- 19. Come disattivare "exit status 1" quando si esegue os.Exit (1)
- 20. NoClassDefFoundError quando si esegue un bundle OSGI come jar classico
- 21. Quando si esegue karma localmente, phantomjs non verrà avviato
- 22. Cosa succede quando si esegue AsyncTasks quando l'attività cambia?
- 23. Come uccidere un processo senza ottenere un'eccezione di "processo terminato"?
- 24. Come ottenere i nomi dei campi quando si esegue una query sql semplice in django
- 25. Come posso ottenere l'hostname e la porta correnti quando si esegue Capybara con Poltergeist?
- 26. Come ottenere refreshToken quando si utilizza GoogleAuthUtil
- 27. Come configurare il processo master quando si utilizza PM2
- 28. Come si chiama quando si esegue l'override di un metodo mentre si chiama un costruttore?
- 29. WPF DataGrid come ottenere quando ItemsSource si aggiorna
- 30. Come si esegue il debug di AppleScript?
Che ottiene l'app locale ma non la temperatura bassa ... –
Mentre questa non è una risposta diretta alla tua domanda, sembra essere l'unica cartella sicura che puoi ottenere senza il percorso hardcoding. Lo userei e crearei la cartella temporanea lì. (Naturalmente questo ti mette più responsabilità nel gestire l'eventuale cancellazione dei file). – Danra