Tôi sẽ không đề xuất giải pháp trong câu trả lời của mình vì cách tốt nhất bạn có thể làm mà không có công cụ của bên thứ 3 có lẽ là câu trả lời của PIMP_JUICE_IT (mặc dù câu trả lời đó chỉ đơn giản là thêm một động từ bổ sung mới và nó không liên quan gì đến Windows "Open With "Chức năng và nên được đặt tên phù hợp).
Tuy nhiên tôi sẽ cố gắng giải thích các chi tiết kỹ thuật về những gì đang xảy ra và tại sao:
Menu con "Mở bằng" được triển khai dưới dạng tiện ích mở rộng vỏ IContextMothy và được đăng ký theo HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
. Khi bạn nhấp chuột phải vào một hoặc nhiều mục trong thư mục shell, shell sẽ nhìn vào các phím khác nhau bên dưới HKEY_CLASSES_ROOT
để tạo menu. Các mục dưới ...\shellex\ContextMenuHandlers
đây là động và thực thi mã máy tính thực tế xác định có bao nhiêu mục menu để thêm (nếu có).
Có vẻ như Microsoft đã mã hóa tiện ích mở rộng "Mở bằng" để chỉ thêm menu con khi bạn chọn một tệp, với một ngoại lệ; nhiều phím tắt (.lnk) có thể được chọn và bạn vẫn sẽ nhận được menu con (ít nhất là trên máy Windows 8 của tôi). Tôi sẽ đi ra ngoài và nói rằng việc xử lý phím tắt là một lỗi.
Không có lý do kỹ thuật tại sao menu không thể hoạt động cho nhiều tệp và trên thực tế, nó được sử dụng để hoạt động tốt trên Windows XP:
Tôi đoán lý do chính khiến họ loại bỏ nó là; Bạn làm gì khi người dùng chọn các loại tệp khác nhau? Tuy nhiên, đã có tiền lệ cho việc này; bạn có thể chọn các tệp thuộc các loại khác nhau và nhấn enter để mở tất cả chúng. Khi bạn làm điều này, shell chỉ sử dụng hành động được liên kết với mục có hình chữ nhật tiêu điểm.
Nhà cung cấp phần mềm bên thứ 3 có thể tạo một menu tương tự hoạt động cho nhiều tệp. Hạn chế duy nhất là mục "Chọn ứng dụng khác" / "Chọn chương trình mặc định" ở cuối menu có thể phải bị vô hiệu hóa khi có nhiều tệp vì cách chính thức để gọi hộp thoại đó chỉ hỗ trợ một đường dẫn tệp duy nhất. Để điền vào menu, chỉ cần sử dụng SHAssocEnumHandlers để tạo danh sách các ứng dụng có sẵn cho loại tệp được chỉ định.
Đây là một trường hợp cạnh mà không ai dành thời gian để triển khai lại tiện ích mở rộng "Mở bằng" chỉ để hỗ trợ nhiều tệp mặc dù về mặt kỹ thuật có thể làm như vậy ...