Tại sao Lớp phủ biểu tượng (từ Ứng dụng thứ 3) không hiển thị trong Win8 Explorer?


35

Các lớp phủ biểu tượng tuyệt vời này cung cấp cho bạn thông tin hữu ích trong Windows Explorer không hiển thị. Ảnh chụp màn hình những gì tôi muốn nói

Đó là điều khó chịu nhất với Dropbox (Tôi đã đọc https://www.dropbox.com/help/154/vi ). Tôi vừa thử cài đặt lại Dropbox - không giúp được gì. Tôi cũng gặp vấn đề này với Link Shell Extension vì vậy tôi không nghĩ rằng đó là sự cố cụ thể; và có gì đó không ổn trong hệ điều hành của tôi. HĐH thực sự là một bản cài đặt sạch khá mới ...

HĐH: Win8 Pro 64-bit.


3
Có cách nào để thực hiện việc này theo chương trình, để chương trình cài đặt có thể nhận thấy sự cố và khắc phục trong quá trình cài đặt không?
jordanpg

có liên quan nhưng được hỏi sau: superuser.com/q/80952935388
CAD bloke

Câu trả lời:


39

Có vẻ như bạn đã cài đặt quá nhiều công cụ đăng ký biểu tượng Lớp phủ. Windows có giới hạn xấu chỉ có 15 biểu tượng lớp phủ do mã 16 Bit cũ không thể thay đổi:

Giá trị 15 đến từ giới hạn tương ứng cho danh sách hình ảnh. Hàm ImageList_SetOverlayImage hỗ trợ tối đa 15 lớp phủ danh sách hình ảnh cho mỗi danh sách hình ảnh. (Này, nó từng tệ hơn. Giới hạn trước đây chỉ là 3!)

Được rồi, nhưng tại sao chỉ có 15? Tại sao không hơn?

Hình ảnh lớp phủ là một trong những thông tin được sử dụng khi vẽ hình ảnh từ danh sách hình ảnh. Các tùy chọn được mã hóa trong tham số fStyle và khi các bit được chia cho các mục đích khác nhau, bốn bit có sẵn được sử dụng để chỉ định hình ảnh lớp phủ. (Bạn nhận được 15 hình ảnh lớp phủ thay vì 16 vì bạn mất một trong các giá trị để chỉ định không có lớp phủ.

Được rồi, nhưng các giá trị trong tham số fStyle chỉ sử dụng 16 bit dưới cùng. Còn 16 bit trên thì sao? Có rất nhiều phòng ở đó.

Giới hạn 16 bit được chuyển từ phiên bản 16 bit của các điều khiển chung (vẫn cần được hỗ trợ trong Windows 95). Tất nhiên, ngày nay, không ai quan tâm đến phiên bản 16 bit của các điều khiển chung, vậy tại sao không bắt đầu sử dụng các bit trên?

Có một lời giải thích không thỏa đáng: Mã bên trong quản lý fStyle vẫn sử dụng WORD ở một số nơi, vì vậy tất cả các mã quản lý fStyle sẽ phải được sửa đổi. Điều này xảy ra trong nhiều mô-đun trên Windows, do đó, một thay đổi được đồng bộ hóa sẽ phải được thực hiện trên nhiều thành phần. Đây là một thay đổi đột phá ở cấp nhị phân vì các giao diện không còn tương thích. Thay đổi đột phá là thủ tục khó phối hợp: Mã bị ảnh hưởng có thể không hiển thị cho nhóm vỏ vì họ đang ngồi trong một nhánh lá ở xa mà chưa RI vào thân cây. Có thể việc mở rộng fStyle từ WORD sang DWORD có hậu quả sâu rộng đối với một số thành phần.

Vì vậy, Microsoft không thể thực sự sửa nó mà không phá vỡ Explorer.

Mở regedit, đi đến

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

và đếm số lượng các mặt hàng. Bạn đang đạt đến giới hạn 15?

Nếu có, sau đó gỡ cài đặt hoặc cấu hình lại các ứng dụng được hiển thị ở đây hoặc xóa các mục đăng ký theo cách thủ công (tất nhiên là sao lưu chúng).


Tôi đã cài đặt cả hai trên Windows7 - và có thể còn nhiều thứ nữa - win7 đã hoạt động được 3 năm ...
kluka

3
mở regedit, đi đến HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiersvà đếm số lượng các mặt hàng. Bạn đang đạt đến giới hạn 15?
magicandre1981

20 mặt hàng .... nó đã được lấp đầy với Skydrive . Arrgh! (Tôi đã gỡ cài đặt một chương trình khác và bây giờ nó hoạt động)
kluka

Câu hỏi còn lại: Liệu có an toàn khi xóa thủ công các mục trong Sổ "thư mục" đó không?
kluka

Điều này tôi lưu, nhưng tạo một bản sao lưu của khóa trước và vô hiệu hóa các mục bạn không cần. Tôi cũng có vấn đề và xóa một số mục TSVN.
magicandre1981

19

bạn không nhất thiết phải xóa bất kỳ phím nào, tất cả những gì bạn phải làm là đổi tên các phím này với một số ở phía trước chúng theo thứ tự liên tục sau đó khởi động lại máy. Các số liên tiếp sẽ đảm bảo rằng hệ điều hành của bạn chỉ tính 15 số cao nhất.

Đây là một ví dụ:

nhập mô tả hình ảnh ở đây


17
Đây chỉ là một ví dụ điển hình của Windows trong tất cả sự điên rồ của nó.
kluka

9
Điều đó gần như chắc chắn sẽ gây nhầm lẫn cho các ứng dụng có liên quan hoặc trình cài đặt [un] của họ ...
SamB

Nó không thực sự có ích. Skydrive chẳng hạn là một lần mỗi tuần hoặc đổi tên các biểu tượng của nó. Tôi không muốn làm điều này thường xuyên.
Trilarion

4
Cách giải quyết mà tôi tìm thấy (và một cách đã làm việc cho tôi trong nhiều năm) là thêm các bản sao của lớp phủ mà tôi muốn hiển thị với các tên trước tất cả những cái khác ... ví dụ ___CRD3333DropboxExt1. Đây là một hack rất xấu, nhưng làm cho lớp phủ ổn định.
Chris R. Donnelly

2
Bằng cách xuất cài đặt đăng ký, tôi phát hiện ra rằng Dropbox và OneDrive tham lam đứng trước tên khóa của chúng có khoảng trắng (không hiển thị trong RegEdit và sẽ giành chiến thắng trong một loại ASCII) - vì vậy bạn cần khá khéo léo với tiền tố tên khóa của mình '< sp> <sp> <sp> 011keyname '
Ed Randall
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.