2013-07-30 20 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内置于操作系统的新方法。

相关问题