Udostępnij za pośrednictwem


Czasowniki i skojarzenia plików

Gdy użytkownik kliknie prawym przyciskiem myszy obiekt powłoki, taki jak plik, powłoka wyświetli menu skrótów (kontekstowych). To menu zawiera listę poleceń, które użytkownik może wybrać, aby wykonać różne akcje w elemencie. Te polecenia są również nazywane elementami menu skrótów lub czasownikami. Menu skrótów można dostosować.

Ten temat jest zorganizowany w następujący sposób:

Wprowadzenie do menu skrótów dla obiektów systemu plików

Ponieważ menu skrótów są często używane do zarządzania plikami, powłoka udostępnia zestaw domyślnych poleceń, takich jak Wycinanie i Kopiuj, które są wyświetlane w menu skrótów dla dowolnego obiektu systemu plików, takiego jak plik lub folder.

Poniższy przykład ilustruje domyślne menu skrótów wyświetlane przez kliknięcie prawym przyciskiem myszy MyFile.xyz-ms.

zrzut ekranu przedstawiający domyślne menu skrótów

Przyczyną wyświetlenia domyślnego menu skrótów dla MyFile.xyz-ms jest fakt, że .xyz-ms nie jest członkiem zarejestrowanego typu pliku. Natomiast .txt jest zarejestrowanym typem pliku. Jeśli klikniesz prawym przyciskiem myszy plik .txt, zobaczysz menu skrótów z trzema dodatkowymi poleceniami w górnej sekcji: Drukuj, Edytuj i Otwórz przy użyciu.

zrzut ekranu menu skrótów dla pliku z zarejestrowanym typem pliku

Aby rozszerzyć menu skrótów dla typu pliku, należy utworzyć wpis rejestru dla każdego polecenia. Bardziej zaawansowane podejście polega na zaimplementowaniu procedury obsługi menu skrótów (czasownika), która umożliwia rozszerzenie menu skrótów dla typu pliku na podstawie pliku po pliku. Aby uzyskać więcej informacji, zobacz Tworzenie programów obsługi menu kontekstowegoi odwołania do menu kontekstowego .

Dodawanie poleceń do menu skrótów

Procedura obsługi menu skrótów to procedura obsługi typów plików, która dodaje polecenia do istniejącego menu skrótów. Programy obsługi menu skrótów są skojarzone z typem pliku i są wywoływane za każdym razem, gdy zostanie wyświetlone menu skrótów dla składowej klasy. Powłoka sprawdza rejestr, aby sprawdzić, czy typ pliku jest skojarzony z dowolnymi procedurami obsługi menu skrótów. Jeśli tak jest, powłoka wysyła zapytanie do procedur obsługi dodatkowych elementów menu skrótów.

Czasowniki menu skrótów

Każde polecenie w menu skrótów jest identyfikowane w rejestrze przez jego czasownik. Te czasowniki są takie same jak te używane przez ShellExecuteEx podczas programowego uruchamiania aplikacji.

Czasownik to prosty ciąg tekstowy używany przez powłokę do identyfikowania skojarzonego polecenia. Każde zlecenie odpowiada ciągowi polecenia używanemu do uruchamiania polecenia w oknie konsoli lub wsadowym (.bat).

Na przykład czasownik otwarty zwykle uruchamia program w celu otwarcia pliku. Ciąg polecenia zwykle wygląda następująco:

"My Program.exe" "%1"

Jeśli dowolny element ciągu polecenia zawiera spacje lub może zawierać spacje, musi być ujęta w cudzysłów. W przeciwnym razie, jeśli element zawiera spację, nie zostanie poprawnie przeanalizowany. Na przykład "My Program.exe" uruchamia aplikację prawidłowo. Jeśli używasz My Program.exe bez cudzysłowów, system próbuje uruchomić My z Program.exe jako pierwszy argument wiersza polecenia. Zawsze należy używać cudzysłowów z argumentami, takimi jak "%1", które są rozwinięte do ciągów przez powłokę, ponieważ nie można mieć pewności, że ciąg nie będzie zawierać spacji.

Czasowniki mogą również mieć skojarzona z nimi nazwę wyświetlaną, która jest wyświetlana w menu skrótów zamiast samego ciągu czasownika. Na przykład ciąg wyświetlany dla openas jest Otwórz za pomocą. Podobnie jak zwykłe ciągi menu, w tym znak ampersand w ciągu wyświetlania umożliwia wybór klawiatury polecenia.

Przesyłanie strumieniowe elementów systemu spoza plików i wyniki opensearch.

W systemie Windows 7 lub nowszym istnieje obsługa połączenia źródeł zewnętrznych z klientem systemu Windows za pośrednictwem protokołu OpenSearch. Dzięki temu użytkownicy mogą przeszukiwać zdalny magazyn danych i wyświetlać wyniki z Poziomu Eksploratora Windows. Standard OpenSearch w wersji 1.1 definiuje proste formaty plików, których można użyć do opisania sposobu wykonywania zapytań przez klienta usługi internetowej dla magazynu danych oraz sposobu, w jaki usługa powinna zwracać wyniki do renderowania przez klienta.

Może być konieczne przesyłanie strumieniowe elementów systemu spoza plików, aby uniknąć konieczności pobierania elementów w przypadku wyników OpenSearch. Funkcja wyszukiwania federacyjnego umożliwia wyszukiwanie elementów z lokalizacji systemu plików innych niż pliki, które obsługują program OpenSearch, takie jak program SharePoint i inne witryny oparte na usługach sieci Web, na przykład. Podczas wywoływania czasowników na tych elementach system pobiera tymczasową wersję elementu i przekazuje go do implementacji czasownika. Zaleca się stosowanie implementatorów czasowników, aby uniknąć konieczności pobierania pliku przez zarejestrowanie zestawu schematów adresów URL, które obsługuje czasownik w celu przesyłania strumieniowego elementów. Czasowniki to robią przy użyciu klucza rejestru SupportedProtocols.

Rejestrowanie aplikacji do obsługi dowolnych typów plików

Definiowanie elementów menu skrótów dla określonego typu pliku umożliwia określenie sposobu, w jaki skojarzona aplikacja otwiera element członkowski typu pliku. Jednak aplikacje mogą również zarejestrować oddzielną procedurę domyślną, która ma być używana, gdy użytkownik próbuje użyć aplikacji do otwarcia typu pliku, który nie jest skojarzony z aplikacją. Procedura domyślna jest rejestrowana w taki sam sposób, jak w przypadku rejestrowania elementów menu skrótów. Aby uzyskać bardziej szczegółowe informacje na temat definiowania elementów menu skrótów, zobacz Tworzenie procedur obsługi menu kontekstowego.

Domyślna procedura służy dwóm podstawowym celom. Jednym z nich jest określenie sposobu wywoływanego aplikacji w celu otwarcia dowolnego typu pliku. Można na przykład użyć flagi wiersza polecenia, aby wskazać, że jest otwierany nieznany typ pliku. Innym celem jest zdefiniowanie różnych cech typu pliku, takich jak elementy menu skrótów i ikona. Jeśli użytkownik skojarzy aplikację z dodatkowym typem pliku, ta klasa będzie mieć te cechy. Jeśli dodatkowy typ pliku został wcześniej skojarzony z inną aplikacją, te cechy zastąpią oryginały.

Aby zarejestrować procedurę domyślną, umieść te same klucze rejestru utworzone dla identyfikatora ProgID aplikacji w podkluczu aplikacji HKEY_CLASSES_ROOT\Applications. Można również dołączyć wartość FriendlyAppName, aby podać system przyjazną nazwę aplikacji. Przyjazna nazwa aplikacji może być również wyodrębniona z pliku wykonywalnego, ale tylko wtedy, gdy wartość FriendlyAppName jest nieobecna.

Poniższy przykładowy wpis rejestru ilustruje domyślną procedurę dla MyProgram.exe, która definiuje przyjazną nazwę i kilka elementów menu skrótów. Ciągi poleceń zawierają flagę /a, aby powiadomić aplikację o otwarciu dowolnego typu pliku. Jeśli dołączysz podklucz DefaultIcon, użyj ikony ogólnej.

HKEY_CLASSES_ROOT
   MyProgram.exe
      shell
         open
            command
               (Default) = C:\MyDir\MyProgram.exe /a "%1"
         print
            command
               (Default) = C:\MyDir\MyProgram.exe /a /p "%1"
         printto
            command
               (Default) = C:\MyDir\MyProgram.exe /a /p "%1" "%2"

Dodatkowe zasoby

najlepsze rozwiązania dotyczące programów obsługi menu skrótów i zleceń wielokrotnego wyboru

wybieranie czasownika statycznego lub dynamicznego dla menu skrótów

tworzenie programów obsługi menu skrótów

dostosowywanie menu skrótów przy użyciu czasowników dynamicznych

menu skrótów (kontekstowych) i programy obsługi menu skrótów

menu skrótów