2013-07-30 18 views
12

在Windows 8中,用戶對打開一個給定的文檔類型的應用程序選擇似乎被關在HKCU Software Microsoft Windows CurrentVersion Explorer FileExts 中的哈希是什麼。 <extension> UserChoice?

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

對於我的機器上的PDF文件,這包含:

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

然而,在另一機器的哈希是不同的。什麼是散列,有什麼辦法可以創建一個.reg文件,可以應用到另一臺機器來設置此首選項?

+1

幾乎但不完全是http://stackoverflow.com/questions/16707684/how-to-set-default-browser-in-windows-8-using-c的副本 –

回答

11

微軟決定在Windows 8(可能出於安全原因),用戶應該能夠通過內置GUI設置默認程序只有。即通過設計,您不應該能夠在腳本中或以編程方式設置默認處理程序。

哈希值用於證明UserChoice ProgId值是由用戶設置的,而不是通過任何其他方式。只要Microsoft保留生成Hash的算法以及使用Hash驗證ProgId的機制(祕密),就可以工作。

理論上你可能找出設置散列(可能還有其他隱藏的操作系統設置)的祕密,但你不能保證它的可靠性;例如,下一個Windows Update可能會破壞您的方法。您可能只需要適應變化,並使用Microsoft內置於操作系統的新方法。

相關問題