2013-05-23 31 views
6

Chúng ta đều có thể dễ dàng thực hiện việc này trước Windows 8 (trong XP/VISTA/WIN7) với một vài thay đổi trong Registry và nó đã được thực hiện.Làm cách nào để đặt trình duyệt mặc định trong windows 8 bằng C#?

Với Windows 8, việc này không hề dễ dàng (tôi chưa biết cách thực hiện). Windows 8 cũng có vài cài đặt đăng ký được thay đổi được đề cập dưới đây, nhưng cùng với điều này nó cũng lưu trữ một Hash duy nhất cho mỗi máy tính. Có thể bất kỳ cơ thể giúp tôi để có thể tạo ra băm này cho mỗi máy tính hoặc với một số API được cung cấp bởi Microsoft để thiết lập trình duyệt mặc định ('SetAppAsDefaultAll' không hoạt động). Sau đây là các mục đăng ký.

Computer \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.htm \ lựa chọn của người ProgID: IE.AssocFile.HTM Hash: xxxxxxxxxxx

Computer \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.html \ lựa chọn của người ProgID: IE.AssocFile.HTM Hash: xxxxxxxxxxx

Computer \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.xht \ lựa chọn của người ProgID: IE.AssocFile. XHT Hash: XXXXXXXXXXX

Computer \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.xhtml \ lựa chọn của người ProgID: IE.AssocFile.XHT Hash:

Computer \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Shell \ Hiệp hội \ UrlAssociations \ ftp \ lựa chọn của người ProgID: IE.FTP Hash: xxxxxxxxxxx

Computer \ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Shell \ Hội \ UrlAssociations \ http \ lựa chọn của người ProgID: IE.HTTP Hash: xxxxxxxxxxx

Máy tính \ HKEY_CURRENT_USER \ Software \ Mi crosoft \ Windows \ Shell \ Associations \ UrlAssociations \ https \ UserChoice Progid: IE.HTTPS Hash: XXXXXXXXXXX

Rất cám ơn trước.

+1

đồng ý, trong win7 hoặc cũ hơn, đây không phải là vấn đề lớn. Lo lắng để biết làm thế nào là tốt. – David

+0

Có thể điều này giúp http://superuser.com/questions/498467/why-is-my-default-browser-setting-being-ignored – V4Vendetta

Trả lời

5

Đối với tất cả những người đang chờ câu trả lời cho câu hỏi này.

Ở đây bạn đi, có vẻ như một trong những cách để làm điều đó là thông qua DISM.exe được cung cấp bởi Win 8. Người dùng của bạn nên là quản trị viên của máy mặc dù.

Sử dụng mã C#, bạn sẽ có thể chạy DISM.exe này với các thông số cụ thể.

Blog sau có thông tin chi tiết.

http://blogs.technet.com/b/mrmlcgn/archive/2013/02/26/windows-8-associate-a-file-type-or-protocol-with-a-specific-app-using-a-gpo-e-g-default-mail-client-for-mailto-protocol.aspx

Cảm ơn.

+0

Tôi rất vui vì bạn đã tìm được giải pháp. Nó có ý nghĩa là người dùng có thể tự động hóa quy trình - toàn bộ vấn đề là ngăn các ứng dụng ghi đè các tùy chọn của người dùng, không làm cho việc quản trị trở nên khó khăn. –

+0

Tất nhiên, phương thức quản lý được quản trị viên sử dụng là một chủ đề tốt hơn cho SuperUser hoặc ServerFault. Trên StackOverflow chúng ta đối phó với mã, không phải chính sách nhóm. –

+1

đồng ý Ben. Nhưng chỉ dành cho những người cố gắng làm điều đó bằng mã và không thành công. Điều này có thể nói với họ rằng nó không thể theo cách đó. –

0

Tôi tin rằng lý do là để người dùng chứ không phải phần mềm của bạn, kiểm soát cài đặt này.

Bạn nên có khả năng kích hoạt cửa sổ bật lên "Máy tính của bạn có ứng dụng mới cho Duyệt web", để người dùng có thể dễ dàng chọn chương trình của bạn nếu muốn.

+0

cũng có ý nghĩa những gì bạn nói. Nhưng Google có thể làm điều đó thông qua chrome :) vì vậy ngay cả khi tôi có thể làm điều đó :) Google chrome đặt cùng một thiết lập đăng ký bao gồm Hash. –

+0

Sau khi cài đặt Google Chrome, tôi được nhắc nhở trình duyệt nào tôi muốn sử dụng. Nó không thay đổi nếu không có sự can thiệp của tôi. –

+0

vừa kiểm tra nó. có bạn là đúng. Hãy để tôi xác nhận nếu không có ứng dụng nào khác thực hiện nó mà không hỏi người dùng. Nếu tôi không thể tìm thấy bất kỳ tôi sẽ đánh dấu câu trả lời của bạn chính xác. –

0

Tôi cũng hỏi về điều này và quản lý để tìm giải pháp, đây có thể là trợ giúp cho bạn vì tôi đã thử nghiệm tính năng này trên Windows 8.1 và hoạt động: How to set the default browser on Windows 7 using c#?

Điều này thực sự phù hợp với trường hợp bạn muốn đặt chương trình làm mặc định của giao thức và phần mở rộng tệp.

Các vấn đề liên quan