Sistemin “Klasöre Gözat” iletişim kutusunu global olarak değiştirebilir miyim?


15

Bildiğim kadarıyla herkes "Klasöre Gözat" iletişim kutusundan nefret ediyor:

klasör iletişim kutusuna göz at

Bu iletişim kutusu her zaman çok küçüktür, konumları nadiren iyi hatırlar ve en kötüsü: sizi sıkıcı bir ağaç yapısı kullanarak tüm bilgisayarınızda gezinmeye zorlar.

Şimdi, adil olmak gerekirse, sorunların bazılarının uygulamaların kontrolü nasıl çağırdığıyla ilgili olması muhtemeldir - bir boyut veya varsayılan bir dizin vb. Ayarlamamaktadır. Ancak sıkıcı ağaç kontrolü ile ilgili sorun devam etmektedir.

Windows yüklemenizi farklı bir denetim kullanacak şekilde özelleştirmenin bir yolu var mı? Tercihen sizin için güvenli bir şekilde yapan ancak uyumlu bir DLL veya benzer bir teknikte bırakılan bir uygulama / yükleyici de iyi olacaktır.

Yoksa bu korkunç kontrole sonsuza kadar takılı kaldık mı?


Şikayetlerin çoğu, onu kullanan yazılım tarafından kontrol edilen seçeneklerdir. Değiştirmek için kabuğun tamamını değiştirmeniz gerekir.
Ramhound

1
Bir kullanıcı arayüzü için kötü bir bahanedir.
aliteralmind

2
Bu korkunç UX her seferinde beni rahatsız ediyor.
Ryan

Yanıtlar:


1

kısa cevap, evet onunla sıkışıp kaldın

uzun cevap:

bahsettiğiniz işlev Shell32.dll'deki SHBrowseForFolder () işlevidir. Bu işlev binlerce programdan bağlanır ve yürütülür, bu nedenle değiştirilmiş bir iletişim kutusu olmasını istediğiniz belirli bir program yazmazsanız, shell32.dll dosyasını değiştirmeden veya değiştirmeden istediğiniz şey mümkün olmaz (tüm amaç ve amaçlar için, bu sitenin kapsamı dışında).

işlevin belgeleri şunlardır : http://msdn.microsoft.com/en-us/library/windows/desktop/bb762115%28v=vs.85%29.aspx

yazdığınız bir programda değiştirmek isterseniz, öğreticileri bulmak için dil / platformunuzun özelliklerini arayın (bunlar çoktur).


2
Sadece sormak istedim , iletişim kutusunun en azından bir yolu kopyalamanıza / yapıştırmanıza izin verdiği için marjinal olarak daha kullanışlı bir sürümü var . Bu özel bir iletişim kutusu mu, yoksa bazı parametreler ile SHBrowseForFolder () 'nin kendisi mi, yoksa bunun için ayrı bir işlev var mı?
Karan

@Karan, doc'de gördüğüm şeyden, lpbi input parametresini UFLAGS 0x00000010 olarak ayarlanmış bir BROWSEINFO örneğinin adresini gösterecek şekilde ayarlarsanız, düzenleme kutusu görünür. ne yazık ki, bir parametre olduğundan, yalnızca geliştirici bunu uygulama bazında gösterme veya gösterme seçeneğine sahiptir.
Frank Thomas

Teşekkürler ve evet, BIF_EDITBOX bayrağının ayarlanması gerekiyor gibi görünüyor. "Sadece geliştirici göstermek veya göstermek için seçim var" - Ama tabii ki. Bunun son kullanıcının ikili dosya ile yapmayı umabileceği bir şey olduğunu ima etmiyordum.
Karan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.