Kabuk uzantıları kullanarak Windows Dosya Gezgini'ni değiştirme

  • Kabuk uzantıları, Kayıt Defteri'nin sunduklarının ötesinde, Explorer'ın derinlemesine özelleştirilmesine olanak tanır.
  • Windows, dosya bazında davranışı özelleştirmek için birden fazla denetleyici (bağlam menüsü, simgeler, küçük resimler, meta veriler ve ad alanı) sunar.
  • Windows 11'de, menüler, sol bölme ve klasör şablonları için Kayıt Defteri anahtarlarını değiştirerek Explorer'ı temizleyebilir ve hızlandırabilirsiniz.
  • MSIX ile paketlenmiş modern uygulamalar, manifest dosyasında tanımlanan uzantılar aracılığıyla bağlam menülerini ve COM sunucularını entegre eder.

Windows Dosya Gezgini'ni Özelleştirme

Eğer kullanmadığınız seçeneklerle dolu menülerden, kötü uygulanmış entegrasyonlardan veya yavaş klasör açılış sürelerinden rahatsız olanlardansanız, bu tam size göre., doğru yerdesiniz.

Windows'ta Explorer'ın ve bağlam menüsünün davranışını çeşitli şekillerde değiştirebilirsiniz (bunlar arasında şunlar da bulunur): Windows 11'de Dosya Gezgini püf noktaları): Kayıt defteri aracılığıyla, DLL'ler biçimindeki klasik Shell uzantılarıyla, modern MSIX paketleriyle ve hatta .NET veya C++'da kendi uzantılarınızı oluşturarak. Tüm bu olasılıkları sakin bir şekilde, lafı uzatmadan inceleyelim.

Shell uzantıları nedir ve Kayıt Defteri neden yetersiz kalır?

Windows Kabuğu, Kayıt Defteri girdileri ve .ini dosyaları aracılığıyla temel bir şekilde genişletilebilir.Bu yaklaşım basittir ve genellikle dosya türüne göre simgeleri özelleştirmek, ek komutlar eklemek veya uzantıları ilişkilendirmek için yeterlidir. Ancak önemli bir sınırlaması vardır: tanımladığınız her şey dosya türü düzeyinde geçerlidir, tek tek dosyalara değil.

Tipik bir örnek, uzantı yoluyla oluşturulan özel simgelerdir.Kayıt defterinde .docx dosyasına bir simge atarsanız, tüm Bu tür dosyaların kopyaları, onları ayırt etmeye çalışsanız bile aynı simgeyi görecektir. Ayrıca, Shell'in bazı alanları da vardır; örneğin, sağ tıklayıp seçtiğinizde açılan özellikler sayfası gibi. özellikleriBu durum, yalnızca Kayıt Defteri anahtarları kullanılarak değiştirilemez.

Explorer'ı gerçekten kontrol altına almak için bir adım daha ileri gidip kabuk uzantısı işleyicilerini kullanmanız gerekir.Bunlar, Shell'in belirli bir eylemi gerçekleştirdiği her seferinde çağırdığı COM bileşenleridir (genellikle DLL'ler): bir simge görüntüleme, bağlam menüsünü açma, küçük resim oluşturma, ipucu gösterme vb. Explorer, işlemi yürütmeden hemen önce sürücüyü sorgular ve bu da sonucu değiştirme fırsatı verir.

Çok yaygın bir örnek, bağlam menüsü denetleyicisidir.Bir dosya türü için bir bileşen oluşturursanız, Windows o türdeki herhangi bir dosyaya sağ tıkladığınızda bunu her seferinde çağıracaktır. Bu bileşen, belirli dosyaya, seçilen öğe sayısına, yola vb. bağlı olarak farklı menü öğeleri ekleyebilir; bu, Kayıt Defterinde basit bir komut ilişkilendirmesiyle elde edilmesi imkansız bir şeydir.

Bu kontrolör ailesi içinde iki ana grup bulunmaktadır.Bunlar, belirli dosya türlerine bağlı olan (ve "dosya başına" çalışan) komutlar ve genel Shell işlemlerinde (belirli bir uzantıya bağlı olmaksızın) yürütülen komutlardır. Bunları ayrıntılı olarak incelemek, sınırlamalarını anlamanıza yardımcı olur.

Windows'ta Kabuk Uzantıları

Dosya türleriyle ilişkili ana denetleyiciler

Dosya türüne dayalı işleyiciler, Explorer'ın davranışını belirli dosya uzantıları için özelleştirmenize olanak tanır.Dosya düzeyinde çalışırlar, bu nedenle menüleri, simgeleri veya özellikleri her bir öğeye bağlı olarak uyarlayabilirsiniz.

  • Bağlam menüsü denetleyicisi. Bu komut, dosyanın bağlam menüsü görüntülenmeden hemen önce çalışır. Ek komutlar eklemenize, öğeleri yeniden düzenlemenize ve yalnızca belirli dosyalar veya durumlar için (örneğin, birden fazla dosya seçiliyse, özel bir klasörse vb.) seçenekleri görüntülemenize olanak tanır.
  • Veri İşleyici. Bu özellik, Shell nesneleri üzerinde sürükle-bırak işlemlerinde devreye girer. Katkıda bulunabilir. Ek Pano Biçimleri Böylece hedef daha fazla bilgiye sahip olur (örneğin, XML veya ikili formatta alternatif bir gösterim).
  • Bırakma İşleyici. Bu komut, verileri belirli bir dosyaya sürükleyip bıraktığınızda çağrılır. Bir dosyanın sürükle-bırak işlemi için hedef görevi görmesini sağlar; örneğin, birden fazla dosyayı bir .zip dosyasına veya bir veritabanına sürükleyip bırakmak gibi.
  • Simge İşleyici. Bu komut, Shell dosya simgesini görüntülemeden önce çağrılır. Dosya türünün genel simgesini her dosya için özel olarak oluşturulmuş bir simgeyle değiştirmenize olanak tanır; bu, resimler, proje belgeleri, senkronizasyon durumları vb. öğeler için çok kullanışlıdır ve bunun için ilgili ayarları incelemeniz önerilir. Explorer için en iyi eklentiler.
  • Özellik sayfası denetleyicisi. Diyalog kutusunu görüntülemek üzereyken etkinleşir. özellikleri Bir nesnenin özellikleridir. Ek sekmeler eklemek veya mevcut sekmelerden bazılarını değiştirmek için kullanabilirsiniz, böylece uygulamanız ayarlarını doğrudan dosyanın özellikler sekmesinde gösterir.
  • Küçük Resim İşleyici. Bu, Explorer küçük resminde gördüğünüz görüntüyü oluşturur. Bu sayede, harici uygulamalara ihtiyaç duymadan bir video dosyasının temsili bir karesini veya alışılmadık bir görüntü formatının önizlemesini görüntüleyebilirsiniz.
  • Bilgi İpucu İşleyici. Bu, fareyi bir dosyanın üzerine getirdiğinizde görünen ipucu metnini oluşturmak için kullanılır. Burada ilgili meta verileri görüntüleyebilirsiniz: ses süresi, fotoğraf çözünürlüğü, belge durumu vb.
  • Meta veri denetleyicisi. Dosya içinde depolanan özelliklere okuma ve yazma erişimi sağlar. Bu sayede, dosyanın görünümünü genişletebilirsiniz. ayrıntılarİpucu bilgileri, gruplandırmalar ve özel meta veriler içeren ek sütunlar.

Dosya türüne bağlı olmayan diğer Shell sürücüleri

Dosya türüne bağlı sürücülere ek olarakShell'in bazı genel Explorer işlemlerinden önce çağırdığı başka komutlar da vardır. Bunlar, daha üst düzey özelleştirmelere olanak sağlayan komutlardır.

  • Sütun denetleyicisi. Görüntülenmeden önce kontrol edilir. ayrıntılar Bir klasörden. Uzantınız tarafından hesaplanan bilgilerle doldurulan özel sütunlar (örneğin, "Derecelendirme", "İç Yazar", "Doğrulama Durumu") eklemek için kullanılır.
  • Kopyalama Kancası İşleyici. Bu komut, sistem bir klasörü veya yazıcıyı taşımaya, kopyalamaya, silmeye veya yeniden adlandırmaya hazırlanırken çağrılır. Bu komut, işlemi onaylamanıza veya engellemenize olanak tanır; bu da güvenlik çözümlerinde, kurumsal politikalarda veya izlenen klasörlerde çok kullanışlıdır.
  • Bağlamsal Sürükle ve Bırak İşleyici. Bu özellik, bir dosyayı sağ fare tuşuyla sürüklediğinizde çağrılır. Fare tuşunu bıraktığınızda açılan bağlam menüsünü, "Dönüştür ve Taşı", "Orijinali Yükle ve Sil" gibi özel işlemler ekleyerek değiştirebilirsiniz.
  • Simge Yerleşimi İşleyici. Dosya veya klasör simgesine küçük bir işaretleyici ekleyin (örneğin, senkronize edilmiş dosyalar için yeşil onay işareti veya ünlem işareti). Kabuk, simgeyi boyamadan hemen önce bunu çağırır ve kodunuz hangi kaplamanın uygulanacağına karar verir.
  • Arama denetleyicisi. Bu, doğrudan kabuk içine entegre edilmiş özel arama motorlarını başlatmak için kullanılır. Bununla, menüden erişilebilen kendi arama motorunuzu kullanıma sunabilirsiniz. Ana Sayfa veya uzaktan gelen veriler veya standart olmayan yapılar üzerinde çalışan Explorer'dan.

Bağlam menüsü ve Explorer uzantıları

Ad alanı uzantıları: Dosya Gezgini'ndeki sanal klasörler

Windows Gezgini sadece geleneksel dosya sistemini öğretmekle kalmıyor.Aslında bu, Geri Dönüşüm Kutusu, Kütüphaneler veya Yazıcılar gibi sanal klasörleri de içeren eksiksiz bir "ad alanı"nı yansıtır. Bir ad alanı uzantısı ile herhangi bir veri kümesini kapsayabilir ve normal bir klasör gibi sunabilirsiniz.

Bir ad alanı uzantısı oluşturduğunuzda, Explorer verilerinizi klasör ve dosya hiyerarşisi olarak görüntüler.İster bir veritabanında, ister uzak bir cihazda olsunlar, isterse de (yazıcılar gibi) sadece mantıksal bağlantılar olsunlar, kullanıcı için diğer klasörler gibi davranırlar: kopyalayabilir, taşıyabilir, silebilir, özelliklerini görüntüleyebilir ve hatta arama yapabilirler.

Teknik olarak, Explorer'da görünen her klasör, "klasör nesnesi" adı verilen bir COM nesnesiyle temsil edilir.Kullanıcı bu klasörle veya içeriğiyle etkileşim kurduğunda, Shell bu nesneyle aşağıdaki gibi standart arayüzler aracılığıyla iletişim kurar: IShellKlasörüNesne isteklere yanıt verir (liste öğeleri, geri dönüş simgeleri, adlar, özellikler...) ve Shell grafik arayüzü günceller.

Bu model, özellikle verileriniz standart dosya ve klasör yapısına uymadığında kullanışlıdır.Klasörler gibi gezinmek istediğiniz bir veritabanını, Windows dosya sistemi olmayan bir dijital kameranın içeriğini veya tamamen mantıksal nesnelerden oluşan bir koleksiyonu (örneğin, yazdırma kuyruğundaki işleri) düşünün.

Bir ad alanı uzantısı genel olarak iki bölüme ayrılır.Veri yöneticisi (tercihlerinize göre bilgileri nasıl ve nerede saklayacağınızı belirler) ve bu verileri klasörler ve dosyalar olarak paketleyen Explorer ile bir arayüz katmanı. Bu ikinci kısım, DefView (varsayılan klasör görünümü) ve Shell'in geri kalanının içeriği nasıl görüntüleyeceğini ve işleyeceğini bilmesi için COM arayüzlerini uygular.

Explorer görünümlerinin bir uzantıyla nasıl etkileşim kurduğu

Dosya Gezgini penceresi çeşitli alanlardan oluşur: ağaç görünümü, klasör görünümü, menü ve araç çubukları ve durum çubuğu.Ad alanı uzantınız tarafından yönetilen bir klasöre girdiğinizde, kodunuz farklı derecelerde de olsa bunların hepsini etkileyebilir.

Ağaç görünümü, hiyerarşinin üst düzey bir görünümünü sunar.Bu, ad alanındaki her klasörü ve konumunu gösteren bir TreeView denetimi barındırır. Buradan kullanıcı seviyeleri genişletebilir, klasörleri sürükleyebilir, bağlam menüsünü kullanabilir veya alt klasörleri açabilir. Explorer öncelikle şu yollarla iletişim kurar: IShellKlasörüNitelik isteme, alt klasörleri listeleme, görünen adları ve simgeleri isteme.

Klasör görünümü (dosyaların bulunduğu sağ panel) daha da esnektir.Ağaç görünümünün aksine, Explorer içeriğini doğrudan kontrol etmez; yalnızca bir alt pencere oluşturur ve bunu klasör nesnenize iletir. Bu pencere, klasik bir ListView, dinamik HTML içeren bir web tarayıcı denetimi veya verileriniz için anlamlı olan başka herhangi bir şeyi barındırabilir.

Genellikle DefView, SHCreateShellFolderView fonksiyonu kullanılarak yeniden kullanılır.Bu size simgeler, ayrıntılar, sıralama, gruplar vb. içeren standart bir görünüm sunar ve verileri sağlamaya odaklanmanızı sağlar. Ancak, çok özel bir sunuma ihtiyacınız varsa, tamamen özelleştirilmiş bir görünüm oluşturabilirsiniz.

Dosya Gezgini'nin menüsü ve araç çubukları, eklentiniz üzerinden özelleştirilebilir.Kabuk, arayüzü ortaya çıkarır. IShellBrowserBu sayede düğmeleri ve menü öğelerini ekleyebilir veya kaldırabilir ya da belirli komutlara yanıt verebilirsiniz. Kullanıcı özel bir düğmeye tıkladığında, Explorer mesajı iletir. WM_KOMUTANLIĞI İşlemi gerçekleştirebilmeniz için pencerenize yönlendiriyoruz.

Durum çubuğu da oldukça kullanışlı bir başka kanaldır.Aynı yerden IShellBrowser Seçilen nesne, öğe sayısı, eklentinizdeki hatalar vb. hakkında bağlamsal bilgiler gösterecek şekilde metni güncelleyebilir ve böylece sistemle entegrasyon hissini geliştirebilirsiniz.

.NET sınıf kitaplığı kullanarak tarayıcı uzantıları oluşturun.

.NET ile geliştirme yapıyorsanız, bu uzantıların çoğunun oluşturulmasını basitleştirmek için temel sınıflara sahip bir kütüphane kullanma seçeneğiniz vardır.Fikir oldukça basit: Bir sınıf kütüphanesi projesi oluşturuyorsunuz, bir COM sınıfı ekliyorsunuz ve uygulamak istediğiniz uzantı türüne karşılık gelen temel sınıftan miras almasını sağlıyorsunuz.

Örneğin, BrowserHelperObjectBase, Internet Explorer için Tarayıcı Yardımcı Nesneleri oluşturmayı kolaylaştırır.Tarayıcı yöntemlerini, olaylarını ve özelliklerini kodunuza eşliyorsunuz. Örneğin, IE örneğini (özellik) kullanıma sunuyorsunuz. InternetExplorerNesnenin çalıştığı pencere (yerve siz de şu gibi olayları yönetiyorsunuz. Bağlantıda u Bağlantı Kesildiğinde.

ContextMenuHandlerBase, Explorer için bağlam menülerinin oluşturulmasını kolaylaştırır.Tek yapmanız gereken koleksiyonu doldurmak. Menü Öğeleri Windows Forms formunda yaptığınız gibi MenuItem nesneleriyle çalışın ve olaya bağlanın. Tıkla her seçeneğin özelliği. dosyalar Seçilen dosyaların listesini ve yöntemi size verir. Menü Seçildi Bu, durum çubuğundaki yardım metnini güncellemek için kullanılır.

DropHandlerBase ile bir dosyayla ilişkili sürükle ve bırak işleyicilerini uygulayabilirsiniz.Şunlar gibi özelliklere sahipsiniz: Dosya adı (dosyaların bırakılacağı hedef) ve dosyalar (sürüklenenler) ve aşağıdaki gibi yöntemler Sürükleme Girişi, OnDragOver, OnDragLeave y Sürükle Bırak Sürüklenmenin her aşamasına tepki vermek.

IconHandlerBase, Explorer'ın görüntüleyeceği simgeyi döndürmenizi sağlar. Her dosya için. OnGetIconLocation İkonun nerede olacağına siz karar verirsiniz ve Çıkarma Simgesi Küçük resimler veya gelişmiş gösterimler oluşturabilen belirli simge işleyicilerini döndürürsünüz.

Bu .NET uzantılarının kaydı, regasm.exe kullanılarak COM üzerinden yapılır.Temel sınıflar, işaretlenmiş yöntemleri içerir. ComRegisterFunction y ComUnregisterFunction Bu sınıflar, derlemeyi kaydettiğinizde uygun kayıt defteri girdilerini oluşturmaktan veya silmekten sorumludur. Ayrıca, bu sınıfların çoğu özniteliği destekler. UzantıDosyaTürleri Hangi dosya türlerini etkilediklerini belirtmek için (bu, virgülle ayrılmış bir liste veya tümü için joker karakter * olabilir).

Sistem düzeyinde kabuğu (explorer.exe) değiştirin veya düzenleyin.

Windows ortamına kökten "dokunmanın" bir başka yolu da varsayılan kabuğu değiştirmektir.Yani, oturum açtığınızda başlayan program. Tek amaçlı sistemlerde (kiosklar, endüstriyel cihazlar, terminaller) bazen Explorer'ın çalışmasını değil, tek bir tam ekran uygulamanın çalışmasını isteyebilirsiniz; diğer seçeneklere ihtiyacınız varsa, bkz. Windows Gezgini'ne alternatifler.

Windows Server ve istemci ortamlarında bu davranış Kayıt Defteri aracılığıyla kontrol edilir., anahtarda HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ShellDeğeri yürütülebilir dosyanızın yoluyla değiştirerek, oturum açtığınızda klasik Dosya Gezgini yerine programınızın yüklenmesini sağlarsınız.

Buradaki uyarı açık.Explorer.exe'yi kabuk olarak devre dışı bırakmak, son kullanıcıyı masaüstü, görev çubuğu veya klasör pencerelerinden mahrum bırakır; bu nedenle, kapalı sistemler için en uygun seçenektir. Ayrıca, her zaman alternatif bir yönetim ve kurtarma yöntemine (RDP, güvenli mod, GPO vb.) sahip olmak tavsiye edilir.

Windows 11 Dosya Gezgini'ni Kayıt Defteri'nden Özelleştirme

COM uzantılarının ötesinde, birçok kullanıcı bağlam menüsünden can sıkıcı seçenekleri kaldırmak veya klasik davranışı geri yüklemek istiyor.Windows 11'de sağ tıklama menüsünün yeniden tasarımı ve Copilot gibi özelliklerin entegrasyonu, özellikle ileri düzey kullanıcılar arasında oldukça fazla eleştiriye yol açtı.

Öncelikle şunu aklınızda tutmalısınız ki, Kayıt Defteri ile oynamak şaka değil.Yanlış bir değişiklik sistemi istikrarsızlaştırabilir, bu nedenle öncelikle bir geri yükleme noktası veya Kayıt Defteri yedeği oluşturun. Ve elbette, yolları tam olarak gösterildiği gibi kopyaladığınızdan emin olun.

Kayıt Defteri Düzenleyicisini açmak için Başlat menüsüne "regedit" yazmanız yeterlidir. ve başlat Kayıt düzenleyiciBuradan itibaren bahsedeceğimiz her bir dala göz atabilir ve gerektiği gibi anahtarlar, dize değerleri veya DWORD'lar oluşturabilirsiniz.

Bağlam menüsünden "Yardımcı Pilota Sor" ve diğer seçenekleri kaldırın.

Windows 11'inizde Copilot uygulaması veya entegrasyonu yüklüyseBir dosyaya sağ tıkladığınızda, büyük olasılıkla şu seçeneği göreceksiniz: "Copilot'a Sor"Bu seçenek menüde yer kaplıyor ve eğer bu işlevi kullanmıyorsanız sadece engel teşkil ediyor.

Kayıt defterinden devre dışı bırakmak için şu adımları izleyin: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell ExtensionsBu dal içinde, adlı yeni bir anahtar oluşturun. tıkalıİçeri girdikten sonra yeni bir tane ekleyin. zincir değeri adı şu olacak {CB3B0003-8088-4EDE-8769-8B354AB2FF8C} ve içeriği boş bırakın.

Aynı yöntem, "Notepad ile düzenle", Paint veya Clipchamp gibi diğer seçenekleri temizlemek için de işe yarar.Her zaman şube altında çalışıyor. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extensions ve anahtarın içinde tıkalıFarklı metin değerleri oluşturabilirsiniz:

  • {CA6CC9F1-867A-481E-951E-A28C5E4F01EA} saklamak “Notepad ile düzenle”.
  • {8BCF599D-B158-450F-B4C2-430932F2AF2F} seçeneği kaldırmak için Clipchamp.
  • {2430F218-B743-4FD6-97BF-5C76541B4AE9} entegrasyonu kaldırmak için Boya.

Bu değerler oluşturulduktan sonra, Windows'un ayarları yeniden yüklemesi için Explorer'ı veya bilgisayarınızı yeniden başlatın.Bunlardan herhangi birini geri almak için, ilgili değeri veya anahtarın tamamını silmeniz yeterlidir. tıkalı Tüm biletleri geri almak istiyorsanız.

Klasik Windows 10 bağlam menüsünü geri getirin

Windows 11'deki en çok konuşulan değişikliklerden biri de yeni, basitleştirilmiş bağlam menüsüdür.Bu kendi başına "kötü" bir şey değil, ancak birçok deneyimli kullanıcı, "Daha fazla seçenek göster"e tıklamaya gerek kalmadan tüm seçeneklerin görülebildiği tam Windows 10 menüsünü özlüyor.

Klasik stile geri dönmek için, Kayıt Defterinde küçük bir değişiklik daha yapabilirsiniz.. git HKEY_CURRENT_USER \ YAZILIM \ SINIFLAR \ CLSID (Not: Bunu .cls dalıyla karıştırmayın) ve şu isimle yeni bir anahtar oluşturun: {86ca1aa0-34aa-4e8b-a509-50c905bae2a2}.

Yeni oluşturulan bu anahtarın içine, InprocServer32 adında başka bir anahtar ekleyin.Sağ panelde, değere çift tıklayın. (Önceden belirlenmiş) Veri alanının tamamen boş olduğundan emin olun. Değişiklikleri kabul edin ve düzenleyiciyi kapatın.

Bilgisayarınızı yeniden başlattıktan sonra, dosyalara veya klasörlere sağ tıkladığınızda, tıpkı Windows 10'da olduğu gibi bağlam menüsü görüntülenecektir.Tüm geleneksel seçenekler anında kullanılabilir durumdadır. Orijinal Windows 11 davranışına geri dönmeye karar verirseniz, bu CLSID anahtarını (ve alt anahtarı InprocServer32'yi) silmeniz yeterlidir.

Klasör görünümünü ayarlayarak Explorer performansını iyileştirin.

Windows, her bir dosya yoluna belirli klasör şablonları uygulamaya çalışırsa, Dosya Gezgini oldukça yavaşlayabilir. (Örneğin, "Resimler", "Videolar", "Belgeler" vb.) ve hangi görünümü kullanacağına karar vermek için içeriği analiz etmesi gerekir. Bu durum, özellikle çok sayıda dosyaya veya mekanik sabit diske sahip bilgisayarlarda daha belirgindir.

Gezinmeyi hızlandırmanın bir yolu, sisteme tüm klasörleri genel olarak ele almasını söylemektir.Böylece analiz daha doğrudan olur. Bu, anahtar noktada sağlanır. HKEY_CURRENT_USER\Yazılım\Sınıflar\Yerel Ayarlar\Yazılım\Microsoft\Windows\Kabuk\Çantalar\TümKlasörler\Kabuk.

Bu anahtar içinde FolderType adında bir dize değeri oluşturun. ve içeriği atar BelirtilmemişDeğişiklikleri kaydedin ve bilgisayarınızı yeniden başlatın veya oturumu kapatıp tekrar giriş yapın.

Dosya Gezgini'ni yeniden açtığınızda, klasörler arasında geçişin daha sorunsuz olduğunu fark edeceksiniz.Özellikle binlerce dosya içeren veya çok çeşitli dosya türleriyle sık sık çalışıyorsanız bu ayar çok işinize yarayacaktır. Sihir değil, ama birkaç saniye kazanmanıza yardımcı olur. Bu ayar özellikle şu durumlarda kullanışlıdır: Explorer yavaş.

Explorer'ın MSIX paketli uygulamalarla entegrasyonu

Şimdiye kadar ağırlıklı olarak doğrudan Sicil'e kaydedilen uzantılardan bahsettik.Bu, MSI veya ClickOnce yükleyicilerinin kullandığı klasik yaklaşımdır. Bu teknolojiler, bağlam menülerini, dosya ilişkilendirmelerini vb. kaydetmek için Kayıt Defterinin farklı dallarında anahtarlar oluşturur.

MSIX paketli uygulamalarla durum değişiyor.Kayıt defteri uygulama için sanallaştırılmıştır ve artık Explorer uzantılarını kaydetmek için ona güvenemezsiniz. Bunun yerine, şunu kullanmalısınız: paket uzantıları Paket bildiriminde tanımlanmıştır (Package.appxmanifestBurada dosya türü ilişkilendirmelerini, bağlam menüsü fiillerini ve COM sunucularını tanımlarsınız.

MSIX üzerinde Explorer ile entegre olmanın en basit yolu windows.fileTypeAssociation uzantısını kullanmaktır.Hangi dosya türlerini desteklediğinizi (örneğin, .foo), kullanıcının bu dosyalardan birini açtığında yürütülebilir dosyanızın hangi parametreleri alacağını ve bağlam menüsünde hangi ek fiillerin görüneceğini (örneğin, "Dosyayı yeniden boyutlandır") belirtirsiniz.

FileTypeAssociation öğesi, ilişkinin mantıksal adını ve desteklediği türleri tanımlar.Özelliğinde Parametreler Genellikle en azından bu kadar sürer. %1Seçilen dosyanın yolunu temsil eden öğe. İçinde, DesteklenenDosyaTürleri Belirli uzantıları (.foo, .bar, vb.) listeleyin ve DesteklenenFiiller Bu, bağlam menüsüne eklenecek fiilleri ve kendi parametrelerini içerir.

Bu modelin iki önemli sınırlaması vardır.Yalnızca uygulamanızın zaten ilişkilendirdiği dosya türleri için fiilleri görüntüleyebilirsiniz ve bunlar yalnızca uygulamanız o tür için varsayılan uygulama ise gösterilir. Ayrıca, fiil yalnızca uygulamanın ana yürütülebilir dosyasını (farklı parametrelerle de olsa) başlatabilir, rastgele başka bir EXE dosyasını başlatamaz.

MSIX paketlerindeki gelişmiş Shell COM uzantıları

Daha ileri gitmeniz gerekiyorsa (genel klasörleri kontrol etmek, diğer görevleri başlatmak veya ana uygulamayı her seferinde açmamak gibi)Sistem kayıt defterini kullanmak yerine, klasik bir Shell COM uzantısı (DLL) oluşturup bunu MSIX bildirim dosyasına kaydetme seçeneği mevcuttur.

Bir Shell COM uzantısı, temelde benzersiz bir CLSID ile bir veya daha fazla COM sınıfını ortaya çıkaran bir DLL'dir.Windows, Explorer'ın bağlam menüsünü, simgeleri, küçük resimleri vb. görüntülemesi gerektiğinde bu DLL dosyasını yükler ve aşağıdaki gibi yöntemleri çağırır: Başlık Al, GetIcon, GetTooltip o çağırmak (menü komutları söz konusu olduğunda).

Tipik uygulama, performans ve bellek tüketimi nedenleriyle C++ dilinde yapılır.Klasik bir örnek, "ExplorerCommandVerb"e benzer bir projedir; burada sınıf... CExPlorerCommandVerb Menü komutu uygulandı. Yöntem çağırmak Bu, kullanıcının bağlam menüsünde sizin seçtiğiniz öğeye tıkladığında çalışan ve oradan istediğiniz hemen her şeyi yapabileceğiniz bir işlemdir: diyalog kutuları görüntülemek, diğer işlemleri başlatmak, birden fazla öğeyi işlemek vb.

MSIX paketinde COM sunucusunu kaydetmek için, manifest dosyasında `com` ad alanını kullanırsınız.Düğümde com:Uzantı Kategorisi=»windows.comServer» COM sunucusunu ve sunucu türünü (örneğin, Vekil Sunucu) ve bir öğe içinde com:Sınıf belirttiğiniz yerde Id (CLSID'niz) ve Yol (uygulamayı içeren DLL dosyası).

Dosya gezginiyle entegrasyon, daha sonra windows.fileExplorerContextMenus uzantısı kullanılarak yapılır.bir düğüm içinde bildirilen masaüstü4:UzantıBir veya daha fazlasını tanımlar. masaüstü5:ÖğeTipi (örneğin, rehber, * veya belirli bir uzantı) ve bunların içinde öğeler masaüstü5:Fiil CLSID'nizi referans alan.

DLL dosyası MSIX paketi içerisinde yer almalı ve uygulama ile birlikte kopyalanmalıdır.Windows Uygulama Paketleme Projesi kullanıyorsanız, en kolay yol DLL dosyasını projeye eklemek ve her zaman çıktı dizinine kopyalanacak şekilde işaretlemek veya C++ projesinde derleme sonrası bir olayla kopyalama işlemini otomatikleştirmektir.

MSIX paketi yüklendikten sonra, Explorer yeniden başlatılana kadar yeni eklentiyi yüklemeyecektir.Bilgisayarın tamamını yeniden başlatabilir veya işlemi sonlandırabilirsiniz. explorer.exe Görev Yöneticisini açın ve bilgisayarı yeniden başlatın. Bundan sonra, yeni bağlam menüsü girişi belirttiğiniz yerde görünecektir.

Kabuk uzantıları, kayıt defteri ayarları ve MSIX bildirimlerinden oluşan ekosistem bir araya geldiğinde, Dosya Gezgini'ni bambaşka bir seviyeye taşımanıza olanak tanır.İster karmaşık menüleri temizlemek, gezinmeyi hızlandırmak, kendi uygulamalarınızı entegre etmek veya karmaşık veri yapılarını kullanıcı dostu "klasörlere" dönüştürmek olsun, Kayıt Defteri'nde yapılacak değişikliklere dikkat ederek ve COM uzantılarını iyi planlayarak, sistem istikrarından ödün vermeden ihtiyaçlarınıza mükemmel şekilde uyarlanmış bir Explorer'a sahip olabilirsiniz.

Windows'un 10 Logosu
İlgili makale:
Windows 10 için en iyi dosya gezginleri