Udostępnij za pośrednictwem


Programy obsługi arkusza właściwości

Gdy użytkownik kliknie prawym przyciskiem myszy obiekt powłoki, wyświetlane menu skrótów zwykle zawiera element właściwości . Wybranie tego elementu uruchamia arkusz właściwości, który umożliwia użytkownikowi wyświetlanie, a w niektórych przypadkach modyfikowanie właściwości obiektu. Ten arkusz właściwości można dostosować, implementując i rejestrując program obsługi arkusza właściwości .

Ogólne procedury implementowania i rejestrowania programu obsługi rozszerzenia powłoki zostały omówione w Tworzenie procedur obsługi rozszerzeń powłoki. Ten dokument koncentruje się na tych aspektach implementacji specyficznych dla procedur obsługi arkuszy właściwości.

Jak działają programy obsługi arkusza właściwości

Na poniższej ilustracji przedstawiono arkusz właściwości właściwości dla pliku tekstowego systemu Windows XP.

Na tej ilustracji przedstawiono domyślny arkusz właściwości Właściwości wyświetlany dla dowolnego pliku. W przypadku wielu takich arkuszy właściwości można dodać do arkusza właściwości co najmniej jedną stronę, implementując i rejestrując procedurę obsługi arkusza właściwości.

Programy obsługi arkuszy właściwości są najczęściej rejestrowane dla typu pliku . Każda procedura obsługi może dodać jedną stronę niestandardową do arkusza właściwości dla klasy . Te strony zazwyczaj zapewniają użytkownikom dostęp do właściwości specyficznych dla określonego typu pliku. Typ pliku składający się z dokumentów tekstowych może na przykład wyświetlać stronę zawierającą tytuł i autor oraz abstrakcję dokumentu. Specjalny przypadek obsługi arkusza właściwości jest używany do dodawania strony do arkusza właściwości arkusza właściwości dla zainstalowanego dysku.

Innym sposobem obsługi arkuszy właściwości jest zastąpienie stron w arkuszach właściwości wyświetlanych przez aplikacje Panelu sterowania. Producent myszy może na przykład użyć programu obsługi arkusza właściwości, aby zastąpić Przyciski strony na Właściwości myszy panelu sterowania arkusz właściwości strony dostosowanej do cech myszy.

Podobnie jak wszystkie programy obsługi rozszerzeń powłoki, programy obsługi arkuszy właściwości są obiektami modelu obiektów składników (COM) implementowanych jako biblioteki DLL. Muszą eksportować dwa interfejsy oprócz IUnknown: IShellExtInit i IShellPropSheetExt.

Interfejs IShellExtInit jest używany przez powłokę do inicjowania programu obsługi. Gdy powłoka wywołuje IShellExtInit::Initialize, przekazuje obiekt danych o nazwie obiektu, a wskaźnik do listy identyfikatorów elementów (PIDL) folderu zawierającego plik. Parametr hRegKey nie jest używany z procedurami obsługi arkuszy właściwości. Metoda IShellExtInit::Initialize musi wyodrębnić nazwę pliku z obiektu danych oraz zapisać nazwę i identyfikator PIDL folderu do późniejszego użycia. Aby uzyskać więcej informacji, zobacz sekcję Implementowanie programu IShellExtInitTworzenie programów obsługi rozszerzeń powłoki.

Pozostała część operacji odbywa się za pośrednictwem interfejsu programu obsługi IShellPropSheetExt. Jeśli arkusz właściwości jest skojarzony z typem pliku, powłoka wywołuje IShellPropSheetExt::AddPages, aby umożliwić programowi obsługi dodawanie strony do arkusza właściwości. Jeśli arkusz właściwości jest skojarzony z aplikacją Panel sterowania, powłoka wywołuje IShellPropSheetExt::ReplacePage, aby umożliwić programowi obsługi zastąpienie strony.

Rejestrowanie i implementowanie programu obsługi arkusza właściwości dla zainstalowanego dysku

Każdy zainstalowany dysk ma arkusz Właściwości, który może być wyświetlany przez użytkownika. Poniższa ilustracja przedstawia arkusz właściwości właściwości dla dysku CD-ROM.

arkusz właściwości właściwości cd-rom

Istnieje wiele różnych urządzeń, które można zamontować jako dyski. Ponieważ domyślny arkusz właściwości przeznaczony dla dysków może nie być wystarczający dla niektórych urządzeń, można zaimplementować procedurę obsługi arkusza właściwości, aby dodać stronę specyficzną dla zainstalowanego urządzenia. Podstawowa implementacja tego typu procedury obsługi arkusza właściwości jest identyczna z opisem w Jak zarejestrować i zaimplementować program obsługi arkusza właściwości dla typu pliku, z dwoma wyjątkami.

  • Obiekt danych przekazany do IShellExtInit::Initialize metody programu obsługi może zawierać ścieżkę dysku w formacie CFSTR_MOUNTEDVOLUME zamiast formatu CF_HDROP. Format CF_HDROP jest używany, gdy urządzenie jest zainstalowane na literę dysku. Format CFSTR_MOUNTEDVOLUME jest używany z systemami plików NTFS, gdy urządzenie zdalne jest zainstalowane w folderze, a nie na literę dysku.
  • Identyfikator GUID programu obsługi jest zarejestrowany w ramach klucza HKEY_CLASSES_ROOT\Drive\shellex\PropertySheetHandlers.

Jak zarejestrować i zaimplementować procedurę obsługi arkusza właściwości dla typu pliku

Jak zarejestrować i zaimplementować procedurę obsługi arkusza właściwości dla aplikacji Panelu sterowania