2013-07-30 43 views
12

Với Windows 8, sự lựa chọn của người dùng mà ứng dụng mở cho một loại tài liệu nhất định dường như được giữ trongHash trong HKCU Software Microsoft Windows CurrentVersion Explorer FileExts . <extension> UserChoice?

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

Đối với các file PDF trên máy tính của tôi, điều này bao gồm:

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

Tuy nhiên, trên một máy băm là khác nhau. Những gì đang được băm, và có cách nào để tạo ra một tập tin .reg có thể được áp dụng cho một máy khác để thiết lập sở thích này?

+1

Hầu như, nhưng không hoàn toàn, một bản sao của http://stackoverflow.com/questions/16707684/how-to-set-default-browser-in-windows-8-using-c –

Trả lời

11

Microsoft đã quyết định trong Windows 8 (có thể vì lý do bảo mật) mà người dùng có thể đặt các chương trình mặc định chỉ qua giao diện dựng sẵn. I E. theo thiết kế, bạn không được phép đặt trình xử lý mặc định trong tập lệnh hoặc lập trình.

Giá trị băm được sử dụng để chứng minh rằng giá trị UserChoice ProgId được đặt bởi người dùng chứ không phải bằng bất kỳ phương tiện nào khác. Điều này hoạt động miễn là Microsoft giữ thuật toán tạo Hash và cơ chế xác minh ProgId bằng cách sử dụng Hash, một bí mật.

Theo lý thuyết, bạn có thể tìm ra bí mật để đặt Hash (và có thể là các cài đặt hệ điều hành ẩn khác), nhưng bạn sẽ không đảm bảo về độ tin cậy của nó; Ví dụ, Windows Update tiếp theo có thể phá vỡ phương thức của bạn. Bạn có thể chỉ cần thích nghi với sự thay đổi, và sống với việc sử dụng các phương pháp mới mà Microsoft đã tích hợp vào hệ điều hành.