Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konu aşağıdaki gibi düzenlenmiştir:
En İyi Uygulamalar
Statik fiil, uygulanması ve zengin işlevsellik sağlaması için en basit fiillerdir. Statik fiil yöntemlerinden birini kullanarak bir fiil uygulamanızı kesinlikle öneririz.
Fiil Uygulamaları için En İyi Yöntemler
Aşağıdaki liste fiil uygulamaları için en iyi yöntemleri temsil eder:
- Her zaman ihtiyaçlarınızı karşılayan en basit fiil yöntemini seçin.
- Mümkünse statik bir fiil yöntemi kullanın.
- Kullanıcı arabirimi iş parçacığında yoğun kaynak kullanımlı işlemler veya G/Ç gerçekleştirmeyin. Hem IShellExtInit::Initialize hem de IContextMenu::QueryContextMenu,gerçekleştirdikleri çalışmada çok tutucu olmalıdır. IContextMenu::InvokeCommand başka bir işlemde gerçekleştirilmelidir veya çağıranın engellenmesini önlemek için yeni bir iş parçacığı oluşturmanız gerekir.
- Bağımsız yazılım satıcısı (ISV) adına sahip ön ek fiilleri aşağıdaki gibi olur
ISVName.verb. Vasıfsız adların kullanılması, aynı fiil adını tercih eden birden çok ISV ile çakışmalara neden olabilir. - Her zaman uygulamaya özgü bir ProgID kullanın. Bazı öğe türleri bu eşlemeyi kullanmadığından, satıcıların benzersiz adlara ihtiyacı vardır.
- Kullanıcı arabirimini çağırma yöntemine göre konumlandırın, ancak çağıran iş parçacığında çalıştırmayın.
- IContextMenu::InvokeCommand yöntemine geçirilen kurallı fiiller için S_OK dönüş değerini kabul etmeyin. Gerçek fiil uygulamasının çağrılmasında bir hata oluşmasına ve kurallı fiiller için bir hata kodu döndürülmesine neden olur. Eğer kurallı fiilleri desteklemiyorsanız, sıfır olmayan bir HIWORD(lpVerb) değeriyle karşılaşıldığında hata döndürün.
- Fiilinizin barındırıcısı olarak rundll32.exe kullanmaktan kaçının.
- IContextMenu::QueryContextMenu'yu uygularken ResultFromShort makrosunu kullanarak HRESULT değeri aracılığıyla menüye eklenen fiil sayısını döndürdüğünüzden emin olun.
- Aşağıdaki kayıt defteri anahtarı girdilerinden birine kaydolduysanız, dikkat edin ve istenmeyen sonuçları azaltmak için işleyicinizi en belirli türe kaydettiğinizden emin olun:
- HKEY_CLASSES_ROOT\*
- HKEY_CLASSES_ROOT\AllFileSystemObjects
- HKEY_CLASSES_ROOT\Folder
- HKEY_CLASSES_ROOT\Directory
- MayChangeDefaultMenu tuşunu yalnızca kısayol menüsünde varsayılan fiili değiştirmeniz gerekebileceğini düşünüyorsanız ayarlayın. İşleyiciniz varsayılan fiili değiştirmezse, bunu yapmak sistemin DLL'nizi gereksiz yere yüklemesine neden olduğundan bu anahtarı ayarlamamalısınız.
- IShellExtInit::Initialize içinde gerçekleştirdiğiniz çalışmayı en aza indirin. Kısayol menüsü işleyicileri için, IShellExtInit::Initialize'a geçirilen veri nesnesini yakalayın ve IContextMenu::QueryContextMenu veya IContextMenu::InvokeCommand içinde işleyin.
Birden Çok Seçim Fiilleri için En İyi Yöntemler
Çok seçimli fiil senaryosundaki öğe sayısı büyük olabileceğinden, fiil uygulamalarınızın performans etkilerini dikkate almanız önemlidir. Örneğin, bir kullanıcı çok sayıda öğe içeren bir kapsam üzerinde "*" araması yapıp Tümünü Seç'e tıkladığında ve sağ tıkladığında, fiilde binlerce öğe içerebilen bir seçim sunulur. Sonuç olarak fiiller yalnızca seçimdeki ilk öğeyi ve genel öğe sayısını dikkate almalıdır. İlk öğe, görünümün en üstündeki öğe veya kullanıcının ilk sağ tıklandığı öğe olarak tanımlanır.
Windows 7 ve sonraki sürümlerde, kısayol menüsü sorgulandığında fiiline geçirilen öğe sayısı 16 ile sınırlıdır. Fiil daha sonra yeniden oluşturulur ve bu fiil çağrıldığında tam seçimle yeniden başlatılır.
Bazı durumlarda az sayıda sabit öğeyi göz önünde bulundurmak uygundur. Örneğin, "fark" fiilinin yalnızca ilk iki öğeyi göz önünde bulundurması uygundur. Genellikle, belirli bir tür olup olmadığını görmek için seçimdeki her öğeyi test etmeniz veya seçimdeki her öğeyi özellikleri için sorgulamanız gerekmez. İlk öğeye bakın ve fiilinizi eklemenin uygun olup olmadığını belirleyin.
Heterojen Seçimler
İyimser fiiller, çoklu seçim durumunda otomatik olarak eklenir ve gözden geçirilmeyen öğelerin fiil tarafından işlenebileceği varsayılır. Buna karşılık, seçim beklenmeyen öğeler içerdiğinde kötümser fiiller eklenmez ve yalnızca öğe sayısının az olduğu durumlarda eklenir.
Oyuncu tarzı fiiller iyimser olmalı ve ele alınmayan öğeleri sessizce atlamalıdır. Öğeler üzerinde işlem yapılmaması veri kaybına veya karışıklığa neden olabilirse, fiilin kullanıcıları işlenemeyen öğeler hakkında uyarması gerekir. Örneğin, "yedekleme" fiili bazı öğelerin yedeklenemediği anlamına gelmelidir.
İlgili konular
-
Kısayol Menüsünü Dinamik Eylemler Kullanarak Özelleştirme