lunedì 14 luglio 2014

Windows e i percorsi (forzati) virtuali

Windows, da Vista in poi, ha aggiunta una funzionalità di sicurezza sconcertante: i percorsi virtuali.
L'idea di fondo è quella di impedire l'accesso a file o cartelle di sistema importanti, che potrebbero compromettere il computer; un'intuizione intelligente realizzata in maniera pessima. Da Vista in poi non è possibile sapere quali cartelle si possono modificare, perchè apparentemente si ha accesso a tutto; in realtà, per ogni percorso o file vietato, Windows crea un nuovo file o cartella da un'altra parte e l'utente non si accorge di lavorare con altre cartelle o file. Tutto ciò comporta dei pasticci enormi con computer dove lavorano più utenti. Le modifiche di un utente al sistema, non sono viste dagli altri.
La stessa cosa vale per gli elementi del registro di Windows, se provate a sistemare qualche problema al registro di windows, quella modifica avrà effetto solo su di voi; o forse neanche su di voi, visto che alcuni programmi che leggono il registro potrebbero essere avviati con altri permessi!
Per fortuna con fortuna con Livecode c'è un modo per aggirare il tutto, indicare in codice normale o esadecimale la cartella, windows accetta entrambi i formati. Esempio:


put SpecialFolderPath(36)
put SpecialFolderPath(0x0024)

entrambi i codici danno come output  su WinXp C:/WINDOWS. Esistono tantissimi codici, ecco i più comuni di Xp:
  • 0x0000  Il cartella desktop dell'utente corrente. (C:/Documents and Settings/max/Desktop)
  • 0x0006 Cartella preferiti dell'utente.  (C:/Documents and Settings/max/Preferiti)
  • 0x0014 Cartella che contiene i font.  (C:/WINDOWS/Fonts)
  • 0x0005 Cartella documenti. documenti dell'utente corrente (C:/Documents and Settings/max/Documenti)
  • 0x0026 Cartella dei programmi. (C:/Programmi)
  • 0x0002 Cartella programmi utente corrente (C:/Documents and Settings/max/Menu Avvio/Programmi)
  • 0x0007 Programmi in esecuzione automatica all'avvio dell'utente corrente (C:/Documents and Settings/max/Menu Avvio/Programmi/Esecuzione automatica)
  • 0x0024 Cartella di Windows. (C:/WINDOWS)
Ecco quelli di Window Vista:

Num. Descrizione Esempio
0 Desktop utente C:/Users/Ken/Desktop
2 Programmi utente C:/Users/Ken/AppData/Roaming/Microsoft/Windows/Start Menu/Programs
5 Documenti utente C:/Users/Ken/Documents
6 Favoriti utente C:/Users/Ken/Favorites
7 Programmi di avvio utente C:/Users/Ken/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup
8 Cartella file recenti utente C:/Users/Ken/AppData/Roaming/Microsoft/Windows/Recent
9 Cartella utente SendTo C:/Users/Ken/AppData/Roaming/Microsoft/Windows/SendTo
11 Cartella "Start Menu" generale C:/Users/Ken/AppData/Roaming/Microsoft/Windows/Start Menu
13 Cartella musica utente C:/Users/Ken/Music
14 Cartella video utente C:/Users/Ken/Videos
16 Cartella desktop utente C:/Users/Ken/Desktop
19 Cartella utente "Network Shortcuts" C:/Users/Ken/AppData/Roaming/Microsoft/Windows/Network Shortcuts
20 Cartella di sistema Fonts C:/Windows/Fonts
21 Cartella utente Templates C:/Users/Ken/AppData/Roaming/Microsoft/Windows/Templates
22 Cartella di sistema "Start Menu" C:/ProgramData/Microsoft/Windows/Start Menu
23 Cartella di sistema dei programmi "Start Menu/Programs" C:/ProgramData/Microsoft/Windows/Start Menu/Programs
24 Cartella di sistema programmi di avvio C:/ProgramData/Microsoft/Windows/Start Menu/Programs/Startup
25 Cartella desktop comune a tutti gli utenti C:/Users/Public/Desktop
26 Cartella utente "Roaming" C:/Users/Ken/AppData/Roaming
27 Cartella utente stampanti C:/Users/Ken/AppData/Roaming/Microsoft/Windows/Printer Shortcuts
28 Cartella utente dati locali C:/Users/Ken/AppData/Local
29 Cartella utente programmi di avvio C:/Users/Ken/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup
30 Cartella di sistema programmi di avvio C:/ProgramData/Microsoft/Windows/Start Menu/Programs/Startup
31 Cartella utente favoriti C:/Users/Ken/Favorites
32 Cartella utente file temporanei internet C:/Users/Ken/AppData/Roaming/Microsoft/Windows/Temporary Internet Files
33 CSIDL_COOKIES C:/Users/Ken/AppData/Roaming/Microsoft/Windows/Cookies
34 Cartella utente storico C:/Users/Ken/AppData/Roaming/Microsoft/Windows/History
35 Cartella di sistema dati applicazioni C:/ProgramData
36 Cartella di windows C:/Windows
37 Cartella "System32" C:/Windows/system32
38 Cartella di sistema Programmi C:/Program Files
39 Cartella utente immagini C:/Users/Ken/Pictures
40 Cartella utente C:/Users/Ken
41 Cartella "system32" C:/Windows/system32
42 Cartella programmi C:/Program Files
43 Cartella file comuni ai programmi C:/Program Files/Common Files
44 Cartella file comuni ai programmi C:/Program Files/Common Files
45 Cartella di sistema tempates C:/ProgramData/Microsoft/Windows/Templates
46 Cartella comune documenti C:/Users/Public/Documents
47 Cartella di sistema che punta ai programmi di amministrazione C:/ProgramData/Microsoft/Windows/Start Menu/Programs/Administrative Tools
48 Cartella utente che punta ai programmi di amministrazione C:/Users/Ken/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Administrative Tools
53 Cartella utente musica C:/Users/Public/Music
54 Cartella utente immagini C:/Users/Public/Pictures
55 Cartella utente video C:/Users/Public/Videos
56 Cartella risorse di sistema C:/Windows/Resources
59 Cartella burn C:/Users/Ken/AppData/Local/Microsoft/Windows/Burn/Burn