2013-07-30 23 views
12

Con Windows 8, la scelta dell'utente per l'applicazione da aprire per un determinato tipo di documento sembra essere tenuti inChe cos'è l'hash in HKCU Software Microsoft Windows CurrentVersion Explorer FileExts . <extension> UserChoice?

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\<extension>\UserChoice 

per i PDF sulla mia macchina, questo contiene:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice] 
"Hash"="xh8KhPWlZL0=" 
"ProgId"="AcroExch.Document" 

Ancora su un altro macchina l'hash è diverso. Cosa viene sottoposto all'hash e esiste un modo per creare un file .reg che può essere applicato a un'altra macchina per impostare questa preferenza?

+1

Quasi, ma non del tutto, un duplicato di http://stackoverflow.com/questions/16707684/how-to-set-default-browser-in-windows-8-using-c –

risposta

11

Microsoft ha deciso in Windows 8 (probabilmente per motivi di sicurezza) che gli utenti dovrebbero essere in grado di impostare i programmi predefiniti solo tramite la GUI integrata. Cioè in base alla progettazione, non si dovrebbe essere in grado di impostare i gestori di default in uno script o in modo programmatico.

Il valore hash viene utilizzato per dimostrare che il valore ProgId UserChoice è stato impostato dall'utente e non con altri mezzi. Questo funziona fintanto che Microsoft mantiene l'algoritmo che genera l'hash e il meccanismo per verificare il ProgId usando l'hash, un segreto.

In teoria si è possibile trovare il segreto per impostare l'hash (e possibilmente altre impostazioni nascoste del sistema operativo), ma non si avrebbe alcuna garanzia di affidabilità; il prossimo aggiornamento di Windows potrebbe spezzare il tuo metodo, per esempio. Probabilmente hai solo bisogno di adattarti alle modifiche e convivere con i nuovi metodi Microsoft integrati nel sistema operativo.