Mengapa Icon Overlay (dari 3rdParty-Apps) tidak muncul di Win8 Explorer?

35

Hamparan ikon indah yang memberi Anda informasi berguna di Windows Explorer tidak muncul. Screenshot dari apa yang saya maksud

Ini yang paling menyebalkan dengan Dropbox (saya sudah membaca https://www.dropbox.com/help/154/en ). Saya baru saja mencoba menginstal ulang Dropbox - tidak ada bantuan. Saya punya masalah ini juga dengan Ekstensi Shell Link jadi saya tidak berpikir itu adalah masalah dropbox secara khusus; dan ada yang salah di OS saya. OS sebenarnya adalah instalasi bersih ...

OS: Win8 Pro 64-bit.

kluka
sumber
3
Apakah ada cara untuk melakukan ini secara programatik, sehingga program instalasi dapat melihat masalah dan memperbaikinya saat menginstal?
jordanpg
terkait tetapi ditanya kemudian: superuser.com/q/809529/3588
CAD bloke

Jawaban:

39

Sepertinya Anda telah menginstal terlalu banyak alat yang mendaftarkan ikon Hamparan. Windows memiliki batas jelek hanya 15 ikon overlay karena kode 16 Bit lama yang tidak dapat diubah:

Nilai 15 berasal dari batas yang sesuai untuk daftar gambar. Fungsi ImageList_SetOverlayImage mendukung hingga 15 overlay daftar gambar per daftar gambar. (Hei, dulu lebih buruk. Batasnya hanya 3!)

Oke, tapi kenapa hanya 15? Kenapa tidak lebih?

Gambar hamparan adalah salah satu bagian dari informasi yang digunakan saat menggambar suatu gambar dari daftar gambar. Opsi dikodekan dalam parameter fStyle, dan ketika bit dibagi untuk berbagai keperluan, empat bit tersedia untuk digunakan untuk menentukan gambar overlay. (Anda mendapatkan 15 gambar overlay alih-alih 16 karena Anda kehilangan salah satu nilai untuk menentukan “no overlay.”)

Oke, tetapi nilai-nilai dalam parameter fStyle hanya menggunakan 16 bit bagian bawah. Bagaimana dengan 16 bit atas? Ada banyak ruang di sana.

Batas 16-bit dibawa dari versi 16-bit dari kontrol umum (yang masih perlu didukung di Windows 95). Tentu saja, saat ini, tidak ada yang peduli dengan versi 16-bit dari kontrol umum, jadi mengapa tidak mulai menggunakan bit atas?

Ada penjelasan yang tidak memuaskan: Kode internal yang mengatur fStyle masih menggunakan WORD di beberapa tempat, jadi semua kode yang mengelola fStyle harus direvisi. Ini terjadi di beberapa modul di Windows, jadi perubahan yang disinkronkan harus dilakukan di beberapa komponen. Ini adalah perubahan yang melanggar pada tingkat biner karena antarmuka tidak lagi kompatibel. Perubahan yang melanggar secara prosedur sulit untuk dikoordinasikan: Kode yang terpengaruh mungkin tidak terlihat oleh tim shell karena mereka duduk di cabang daun yang jauh yang belum RI masuk ke bagasi. Mungkin memperluas fStyle dari WORD ke DWORD memiliki konsekuensi yang luas untuk beberapa komponen.

Jadi Microsoft tidak bisa memperbaikinya tanpa merusak Explorer.

Buka regedit, buka

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

dan hitung jumlah item. Apakah Anda mencapai batas 15?

Jika ya, maka hapus instalan atau konfigurasi ulang aplikasi yang ditampilkan di sini atau hapus entri registri secara manual (tentu saja mencadangkannya).

magicandre1981
sumber
Saya telah menginstal keduanya pada Windows7 saya - dan mungkin banyak hal lainnya - win7 berjalan selama ~ 3 tahun ...
kluka
3
regedit terbuka, pergi ke HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersdan HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiersdan menghitung jumlah item. Apakah Anda mencapai batas 15?
magicandre1981
20 item .... sudah terisi dengan Skydrive . Arrgh! (Saya uninstall program lain dan sekarang berfungsi)
kluka
Pertanyaan yang tersisa: Apakah aman untuk menghapus entri Registry secara manual di "folder" itu?
kluka
ini saya simpan, tetapi buat cadangan kunci untuk menonaktifkan entri pertama dan berikutnya yang tidak Anda butuhkan. Saya juga memiliki masalah dan menghapus beberapa entri TSVN.
magicandre1981
19

Anda tidak perlu menghapus kunci apa pun, yang harus Anda lakukan adalah mengganti nama kunci ini dengan angka di depannya secara berurutan kemudian restart mesin. Nomor urut akan memastikan bahwa OS Anda hanya menghitung 15 besar.

Berikut ini sebuah contoh:

masukkan deskripsi gambar di sini

Jesse. Q
sumber
17
Ini hanyalah contoh bagus Windows dalam semua kegilaannya.
kluka
9
Itu hampir pasti membingungkan aplikasi yang relevan atau
instalasinya
Itu tidak terlalu membantu. Skydrive misalnya adalah sekali seminggu atau lebih mengubah nama ikon itu. Saya tidak ingin melakukan ini secara teratur.
Trilarion
4
Solusi yang saya temukan (dan yang telah bekerja untuk saya selama beberapa tahun) adalah menambahkan salinan overlay yang ingin saya tampilkan dengan nama yang ada di depan yang lain ... misalnya ___CRD3333DropboxExt1. Ini peretasan yang sangat buruk, tetapi membuat lapisan stabil.
Chris R. Donnelly
2
Dengan mengekspor pengaturan registri saya menemukan bahwa Dropbox dan OneDrive yang serakah mendahului nama-nama kunci mereka dengan spasi (yang tidak muncul di RegEdit dan akan menang dalam jenis ASCII) - jadi Anda harus cukup cerdik dengan awalan nama kunci Anda '< sp> <sp> <sp> 011keyname '
Ed Randall